gpt4 book ai didi

Ruby - 从符号转换为变量

转载 作者:数据小太阳 更新时间:2023-10-29 06:43:20 24 4
gpt4 key购买 nike

如何将 :obj 转换回 def 中名为 obj 的变量?

def foo(bar)
bar.some_method_call
end

foo :obj

更新:最终代码比这更复杂,但是......

我喜欢说

foo :obj  

代替

foo obj  

我正在研究一些类似 DSL 的语法。这一变化会让事情变得更清晰。

最佳答案

在您的示例中,obj 是什么类型的变量?如果它是调用 foo 的范围的局部变量,则无法从 foo 内部访问它,除非您将当前绑定(bind)作为第二个参数传递。

如果你想访问实例变量@obj,很简单:

def foo(bar)
instance_variable_get("@#{bar}").length
end

@obj = "lala"
foo("obj") #=> 4

关于Ruby - 从符号转换为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527088/

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