簡體   English   中英

紅寶石將哈希值傳遞給方法

[英]ruby passing the value of a hash to a method

我是紅寶石的新手,但我正在使用watir-webdriver對其進行試驗。 我試圖弄清楚如何將哈希值傳遞給這樣的方法:

#this is a hash in ruby - a collection of keys and values
title = { :Mr => "Mr", :Mrs => "Mrs", :Miss => "Miss", :Ms => "Ms", :Other = > "Other"}

def select_title(title)
 @browser.element(:xpath => "//input[@type='radio'][@value='Value of title hash']").click
end

我不想編寫if if else或在方法內部進行邏輯切換,只是將哈希值直接傳遞給xpath? 怎么樣?

如果我對問題的理解正確,那么您可以執行以下操作:

def select_title(title_hash_key)
  @browser.element(:xpath => "//...[@value='#{title[title_hash_key]}']")
          .click
end

現在,當將哈希鍵作為參數傳遞給此方法時,將從哈希值中獲取相應的值,並使用字符串插值( #{title[title_hash_key]} )將其放入xpath字符串中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM