f = lambda do p self end f.call String.new.instance_eval(&f) String.module_eval(&f)
main
""
String
追記
レシーバにかかわらず、コンテキストは憶えている…と。
def make_f a = 100 lambda do p self p a end end f = make_f f.call String.new.instance_eval(&f) String.module_eval(&f)
main
100
""
100
String
100