duangsues.is_a? SaltedFish
59 subscribers
609 photos
6 videos
91 files
562 links
🌶🐔🐟 duangsuse 的日常
尤其喜欢发些奇奇怪怪的东西
和转载别人的东西
Download Telegram
duangsues.is_a? SaltedFish
import lime.* SexpressionList sexp = (SexpressionList) Lime.parse("(print 1 2 a (print 233 \"Hello, world\") 23232323 (print2 a))").get(0) Lime lime = new Lime(sexp) lime.defineMacro("print", "varargs", ". print varargs") lime.defineMacro("print2", "varargs"…
import lime.*
SexpressionList sexp = (SexpressionList) Lime.parse("(print 1 2 a (print 233 \"Hello, world\") 23232323 (print2 a))").get(0)
Lime lime = new Lime(sexp)
lime.defineMacro("print", "varargs", ". print varargs")
lime.defineMacro("print2", "varargs", ". print 233")
class Foo {
public static Object print(Object[] args) {
pp(args);
return args;
}
static void pp(Object[] args) {
args = (Object[])args[0];
for (Object i : args)
if (i instanceof Object[]) {
System.out.println('[');
pp((Object[])i);
System.out.println(']');
}
else
System.out.println(i);
}
}
java.lang.reflect.iss.onethod print = Foo.class.getDeclaredMethod("print", Object[].class)
lime.getHandlers().put(new Symbol("print"), print)
lime.set("a", 1)
lime.run()
(print 1 2 a (print 233 "Hello, world") 23232323 (print2 a))
[233, Hello, world]
233
[1, 2, 1, [Ljava.lang.Object;@3cb1ffe6, 23232323, [Ljava.lang.Object;@3dfc5fb8]
另外 Lexer 的 debug info 几乎是(已经)白加了,Parser 和 SexpressionList 不支持元数据....
测试已经手工有了那我就不写了
如果要实现 Java 接口的话也可以,Lite 那有一个没测试过的 InvocationHandler
Android proguard 配置
This media is not supported in your browser
VIEW IN TELEGRAM
我放假回来了
很荣幸赶上冰冰 @ice1000 在 Telegram 上实行私聊不回的策略,很机智
他写 Lice 的时候找轮子哥被喷了一次,很荣幸的我这次没被喷,相反我看到了已阅和无回复
非常荣幸的我肯定至少被他鄙视了,233,第一印象太差 👎
便条上写有这次回来打算做的五件事情,等会会在这里发布
(的确对你们没任何关系,不过 @drakeet 说我很喜欢表现自己,他是对的)
我说过尤其是 SaltedFish 频道就是专门放特别碎碎念的....
This media is not supported in your browser
VIEW IN TELEGRAM