Мне нужно иметь возможность передать имя переменной в выражение (в огурце) и хотел бы иметь возможность преобразовать эту строку в ссылку (т.е. не копию) переменной.
например,
Given /^I have set an initial value to @my_var$/ do
@my_var = 10
end
# and now I want to change the value of that variable in a different step
Then /^I update "([^"]*)"$/ do |var_name_string|
# I know I can get the value of @my_var by doing:
eval "@my_var_copy = @#{var_name_string}"
# But then once I update @my_var_copy I have to finish by updating the original
eval "@#{var_name_string} = @my_var_copy"
# How do instead I create a reference to the @my_var object?
end
Так как Ruby - такой рефлексивный язык, я уверен, что то, что я пытаюсь сделать, возможно, но я еще не взломал его.