-5
不知道我在做什么错在这里或丢失。这个Ruby动态变量代码有什么问题
avar = 'test'
test_bvar = 'passed'
finalanswer = send "#{avar}_bvar"
puts " #{finalanswer}"
感谢,
不知道我在做什么错在这里或丢失。这个Ruby动态变量代码有什么问题
avar = 'test'
test_bvar = 'passed'
finalanswer = send "#{avar}_bvar"
puts " #{finalanswer}"
感谢,
您正在定义test_bvar
作为一个局部变量:
test_bvar = 'passed'
和你想调用它的方法:
send "test_bvar"
如果您想要使这个方法成为可能,就像@ Mack94的答案所表明的那样。
send
方法用于以编程方式通过名称调用方法。由于您的test_bvar
不是方法,而是一个局部变量,则需要重构它是这样的:
def test_bvar
"passed"
end
avar = "test"
finalanswer = send "#{avar}_bvar"
puts " #{finalanswer}"
然后你会达到你的目标。