2013-10-09 38 views
0

我有以下代碼變量在命令執行過程中,在紅寶石

require 'watir-wedriver' 

browsers = ['chrome', 'safari'] 

browsers.each do |browserName| 
    browser = Watir::Browser.new :browserName 
    # more code here 
end 

browserName不在這裏工作了,因爲該命令從字面上解釋它(即,它是閱讀,然後browser = Watir::Browser.new :safaribrowser = Watir::Browser.new :browserName代替browser = Watir::Browser.new :chrome

我怎樣才能讓這個變量有更大呢?

回答

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 
+0

公告稱:browserName和browserName是不同的東西! :browserName是一個符號,browserName是一個變量。如果你想要改變這個值,它需要是一個變量! – Anko