単純に見えるが混乱する何かについて助けが必要です。必要に応じて計算される値と、選択リストから実際に利用できる値との間の形式の違いに対処するあいまいマッチング方法を作成しようとしています。
値(オプション行使価格)は、常に計算されたFloatlike85.0
またはIntです。
配列には文字列形式の数値が含まれており、増分で表示されるか、小数に丸めて表示されるか(のような余分なゼロを含む)、5.50
小数なしで表示されるか(のように85
)は予測できません。例:
select_list = ["77.5", "80", "82.5", "85", "87.5", "90", "95", "100", "105"]
配列に表示される最も近い要素(数値)を返す単純な1行または2行のコードを作成する方法がわかりません。たとえば、select_list.contains? 85.0
返さ れた場合"85"
実際、選択の選択肢は、Watir::Webdriver browser.select_list(:id, "lstStrike0_1")
表示されるテキスト(HTML値ではない)がそれらの数値であるHTMLオブジェクトから取得されます。browser.select_list(:id, "lstStrike0_1").select X
おそらく、Watirでこれらすべての選択肢をRuby配列に変換する方法を理解しなくても、単に呼び出すためのより直接的な方法があり ますか?