作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
在以下情况下如何传递参数名称..在传递给 class_eval 之前评估名称
class Foo
end
Foo.class_eval %Q{
def hello(name)
p "hello #{name}"
end
}
抱歉没有给出整个场景...我只是想动态地向类添加一个实例方法,并且该方法应该能够接受参数......上面的代码不会编译提示在 irb 中执行时名称未定义为局部变量..
谢谢
最佳答案
其他答案是“正确”答案,但您也可以跳过 p
内的插值调用:
Foo.class_eval %Q{
def hello(name)
p "hello \#{name}"
end
}
我以为你想更改实际参数名称(可能对完成或在动态方法上使用 Pry 时有用),这里假设它在全局中,但也可以传递到执行 class_eval
的方法中:
Foo.class_eval %Q{
def hello(#{$argname})
p "hello \#{$argname}"
end
}
关于ruby - class_eval 如何将参数传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943114/
我是一名优秀的程序员,十分优秀!