ВВ

Size: a a a
ВВ
AB
AK
AK
DV
DV
DV
AK
AK
DV
AK
DV
DV
DV
module Sendable
@@procs = {} of String => Proc(Sendable, Nil)
def send(method)
@@procs[method].call(self)
end
macro included()
macro method_added(m)
@@procs["\{{ m.name }}"] = -> (obj : Sendable) {
return obj.as({{@type}}).\{{m.name}}
}
end
end
end
class A
include Sendable
def a
puts "Hi"
end
end
A.new.send("a")
DV
DV
AK
def proc1
puts "proc1"
end
def proc2
puts "proc2"
end
def iter_procs(*fns)
pp fns
end
AK