据我所知,由于此方法采用块并对其执行某些操作,因此需要将方法定义为块,而不是参数。所以要启用该方法:
reverser do "hello" end
你会写它像:
def reverser yield.reverse end
要么:
def reverser(&block) block.call.reverse end
现在,当块传递给它时,上述方法将起作用: reverser { "hello" } ,但不是在使用参数时: reverser("hello") 。
reverser { "hello" }
reverser("hello")