Mercurial Hosting > luan
view src/luan/Lua.java @ 40:e3624b7cd603
implement stack trace
git-svn-id: https://luan-java.googlecode.com/svn/trunk@41 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Fri, 21 Dec 2012 10:45:54 +0000 |
parents | 8a57ebfdfd78 |
children | 57054fa43189 |
line wrap: on
line source
package luan; public class Lua { public static final String version = "Luan 0.0"; public static String type(Object obj) { if( obj == null ) return "nil"; if( obj instanceof String ) return "string"; if( obj instanceof Boolean ) return "boolean"; if( obj instanceof LuaNumber ) return "number"; return "userdata"; } public static boolean toBoolean(Object obj) { return obj != null && !Boolean.FALSE.equals(obj); } public static String asString(Object obj) { if( obj instanceof String || obj instanceof LuaNumber ) return obj.toString(); return null; } public static LuaNumber toNumber(Object obj) { return toNumber(obj,null); } public static LuaNumber toNumber(Object obj,Integer base) { if( obj instanceof LuaNumber ) return (LuaNumber)obj; if( obj instanceof String ) { String s = (String)obj; try { if( base==null ) return new LuaNumber( Double.parseDouble(s) ); else return new LuaNumber( Long.parseLong(s,base) ); } catch(NumberFormatException e) {} } return null; } public static Object first(Object[] a) { return a.length==0 ? null : a[0]; } }