"from an instance var-6ren">
gpt4 book ai didi

ruby - 有没有 'variable_get'方法?如果没有,我该如何创建自己的?

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:01 25 4
gpt4 key购买 nike

由 irb 提供:

2.0.0-p0 :006 > @instance_variable = "from an instance variable"
=> "from an instance variable"
2.0.0-p0 :007 > variable = "from a variable"
=> "from a variable"
2.0.0-p0 :008 > instance_variable_get(:@instance_variable)
=> "from an instance variable"
2.0.0-p0 :009 > variable_get(:variable)
NoMethodError: undefined method `variable_get' for main:Object
from (irb):9
from /usr/local/rvm/rubies/ruby-2.0.0-p0/bin/irb:16:in `<main>'
2.0.0-p0 :010 >

我只是想以编程方式“查询”变量并返回其内容。与 instance_variable_get 完全一样,但用于变量。

它用于自定义 rspec 匹配器。不是一些疯狂的解决方法:)

最佳答案

在 Ruby 2.1 及更高版本中,您可以使用 Binding#local_variable_get .

在以前的 Ruby 版本中,您必须使用 eval。如果您想在计算假定的变量名之前进行完整性检查,您可以检查命名变量是否在 local_variables 中。

关于ruby - 有没有 'variable_get'方法?如果没有,我该如何创建自己的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24768557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com