Mercurial Hosting > luan
comparison src/luan/interp/DivExpr.java @ 35:e51906de0f11
implement metatables
git-svn-id: https://luan-java.googlecode.com/svn/trunk@36 21e917c8-12df-6dd8-5cb6-c86387c605b9
| author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
|---|---|
| date | Tue, 18 Dec 2012 07:05:58 +0000 |
| parents | 5cf15507d77e |
| children | 8a57ebfdfd78 |
comparison
equal
deleted
inserted
replaced
| 34:0cdc1da466ee | 35:e51906de0f11 |
|---|---|
| 10 DivExpr(Expr op1,Expr op2) { | 10 DivExpr(Expr op1,Expr op2) { |
| 11 super(op1,op2); | 11 super(op1,op2); |
| 12 } | 12 } |
| 13 | 13 |
| 14 @Override public Object eval(LuaStateImpl lua) throws LuaException { | 14 @Override public Object eval(LuaStateImpl lua) throws LuaException { |
| 15 double n1 = Lua.checkNumber(op1.eval(lua)).value(); | 15 Object o1 = op1.eval(lua); |
| 16 double n2 = Lua.checkNumber(op2.eval(lua)).value(); | 16 Object o2 = op2.eval(lua); |
| 17 return new LuaNumber( n1 / n2 ); | 17 LuaNumber n1 = Lua.toNumber(o1); |
| 18 LuaNumber n2 = Lua.toNumber(o2); | |
| 19 if( n1 != null && n2 != null ) | |
| 20 return new LuaNumber( n1.value() / n2.value() ); | |
| 21 return arithmetic(lua,"__div",o1,o2); | |
| 18 } | 22 } |
| 19 } | 23 } |
