我有以下代码
require 'watir-wedriver'
browsers = ['chrome', 'safari']
browsers.each do |browserName|
browser = Watir::Browser.new :browserName
# more code here
end
browserName
在这里不起作用,因为命令正在按字面解释它(即,它正在阅读browser = Watir::Browser.new :browserName
而不是browser = Watir::Browser.new :chrome
后跟browser = Watir::Browser.new :safari
。
如何让变量扩展到那里?
答案 0 :(得分:1)
不要直接引用变量
browsers.each do |browserName|
browser = Watir::Browser.new browserName.to_sym # string to a symbol
...
end
或者只是最初使用符号
browsers = [:chrome, :safari]
...
browser = Watir::Browser.new browserName