我想知道是否可以或如何将函数映射到散列值。
例如: ----开始上课------------
def foo(var)
return var + 2
end
hash_var = { func => foo() }
----下课----------------
这样我以后就可以调用
Class::hash_var["func"][10]
或
Class::hash_var["func"](10)
那会返回 12?
最佳答案
你可以使用 method
方法。
def foo(var)
return var + 2
end
hash_var = { :func => method(:foo) }
hash_var[:func].call(10)
关于作为散列值的 Ruby 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13033830/