假设我要描述Kernel.puts
使用Proc。我该怎么做?
我可以想到很多可能性;
Proc.new do |*args| Kernel.puts *args end
:puts.to_proc.curry[Kernel] # doesn't work, returns `nil` as puts is varargs
但是两者都很冗长。
您想要的method
是什么?它可以让您将方法保存到变量。
2.1.0 :003 > m = Kernel.method(:puts)
=> #<Method: Kernel.puts>
2.1.0 :004 > m.call('hi')
hi
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句