-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}"
然後你會達到你的目標。