Not sure what am I doing wrong here or missing.
avar = 'test'
test_bvar = 'passed'
finalanswer = send "#{avar}_bvar"
puts " #{finalanswer}"
thanks,
Not sure what am I doing wrong here or missing.
avar = 'test'
test_bvar = 'passed'
finalanswer = send "#{avar}_bvar"
puts " #{finalanswer}"
thanks,
The send
method is used to call a method by name programmatically. Since your test_bvar
is not a method but a local variable, you need to refactor it like this:
def test_bvar
"passed"
end
avar = "test"
finalanswer = send "#{avar}_bvar"
puts " #{finalanswer}"
Then you will reach your aim.
You are defining test_bvar
as a local variable:
test_bvar = 'passed'
and you're trying to call it like a method:
send "test_bvar"
If you want to make this a method, do as @Mack94's answer suggests.