Mercurial Hosting > luan
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 } |