作为散列值的 Ruby 函数

标签 ruby function

我想知道是否可以或如何将函数映射到散列值。

例如: ----开始上课------------

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/

相关文章:

ruby-on-rails - Ruby:如何返回数组列包含给定字符串的所有行?

ruby net/http 打开连接很慢

java - Groovy 编码约定?

c++ - 随机函数 C++ 的种子值

javascript - 有没有一种方法可以可变地命名函数

python - 使用 SQLAlchemy 的数据库函数中的命名参数

ruby - 格式字符串中的尾随零?

ruby - Ruby 对 curl 进行系统调用的正确语法是什么?

javascript - 在严格模式 JavaScript 中检索 "self"函数

vb.net - 从 Visual Basic 中的结构中的函数返回值