在ruby中的命令中间变量

时间:2013-10-09 03:12:00

标签: ruby variables variable-assignment

我有以下代码

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

如何让变量扩展到那里?

1 个答案:

答案 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