comparison core/src/luan/Luan.java @ 419:8fbb961aabd5

improve repr() to check metamethod recursively
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 30 Apr 2015 23:15:40 -0600
parents 23b99a5039b5
children e9d4d5854e54
comparison
equal deleted inserted replaced
418:455784e2227d 419:8fbb961aabd5
133 s = s.replace("\u000b","\\v"); 133 s = s.replace("\u000b","\\v");
134 s = s.replace("\"","\\\""); 134 s = s.replace("\"","\\\"");
135 return s; 135 return s;
136 } 136 }
137 137
138 public static String repr(Object obj) {
139 if( obj == null )
140 return "nil";
141 if( obj instanceof Boolean )
142 return Luan.toString((Boolean)obj);
143 if( obj instanceof Number )
144 return Luan.toString((Number)obj);
145 if( obj instanceof String )
146 return "\"" + stringEncode((String)obj) + "\"";
147 if( obj instanceof LuanRepr )
148 return ((LuanRepr)obj).repr();
149 return null;
150 }
151
152 private Luan() {} // never 138 private Luan() {} // never
153 } 139 }