Q15~Q16 - mfham/mfham.github.io GitHub Wiki
class Sample < BasicObject
def foo(*args)
"foo: #{args.join(',')}"
end
def send(name, *args)
"send: #{name} #{args.join(',')}"
end
end
sample = Sample.new
puts sample.send(:foo, 'a', 'b') # Q15
puts sample.__send__(:foo, 'a', 'b') # Q16
class Sample < BasicObject
def foo(*args)
"foo: #{args.join(',')}"
end
def send(name, *args)
"send: #{name} #{args.join(',')}"
end
end
sample = Sample.new
puts sample.send(:foo, 'a', 'b') # Q15
puts sample.__send__(:foo, 'a', 'b') # Q16
# Q15: send foo a,b
# Q16: foo: a,b