Мне нужна помощь с чем-то, что кажется простым, но меня смущает. Попытка написать некоторый метод нечеткого сопоставления, который справляется с различиями в формате между тем, какое значение вычисляется по мере необходимости и которое действительно доступно из списка выбора.
Значение (цена исполнения опциона) всегда является вычисленным значением Float как 85.0
или Int.
Массив содержит числа в строковой форме, непредсказуемые либо в приращении, либо они будут показаны округлыми до некоторого десятичного числа (включая дополнительные нули, такие как 5.50
) или без десятичной (например, 85
), например: >
select_list = ["77.5", "80", "82.5", "85", "87.5", "90", "95", "100", "105"]
Я не уверен, как написать простую строку или два кода, которые возвратят ближайший соответствующий элемент (по номеру), как он появляется в массиве. Например, если select_list.contains? 85.0
возвращен "85"
Собственно, выбор выбирается из Watir::Webdriver browser.select_list(:id, "lstStrike0_1")
HTML-объекта, чей видимый текст (не HTML-значение) - эти числа; возможно, существует более прямой способ просто вызвать browser.select_list(:id, "lstStrike0_1").select X
, не указывая в Ватире, как преобразовать все эти варианты в массив Ruby?