我想用#to_ivar来修补字符串。
class String
def to_ivar
instance_variable_get("@#{self}")
end
end
所以当我有一个像这样的实例变量的环境时:
instance variables:
@__cucumber_runtime @browser @browser_type @debug @sauce_config @user_A
我可以在步骤定义中执行此操作:
Given(/^user (.*) does something$/) do |user|
@user = user.to_ivar
...
end
所以我做了,但是,似乎String#to_ivar不知道实例变量:
13: def to_ivar
=> 14: binding.pry
15: instance_variable_get("@#{self}")
16: end
[2] pry("user_A")> instance_variables
=> []
是否有一种方法可以让String实例了解Cucumber世界及其实例变量?