作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
给定:
s = "foo_bar_path"
如何评估或常量化 s,并将参数传递给它,例如我的最终结果将等同于:
foo_bar_path(@myvar, @foobar)
我正在尝试 eval(s).send
但这似乎不起作用。 constantize 似乎只适用于类?
最佳答案
您只需使用 send
method (或 public_send
取决于您的需要)在适当的对象上:
some_object.send(s, @myvar, @foobar)
或者如果你想调用自己的方法:
self.send(s, @myvar, @foobar)
文档上写着“symbol”,但是 send
很乐意在字符串中获取方法名称。
关于ruby-on-rails - 如何将字符串评估/常量化为方法,然后将参数传递给它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591370/
我是一名优秀的程序员,十分优秀!