gpt4 book ai didi

ruby - 如何在数字数组中找到最佳匹配元素?

转载 作者:数据小太阳 更新时间:2023-10-29 06:38:52 25 4
gpt4 key购买 nike

我需要一些看似简单但让我感到困惑的事情的帮助。尝试编写一些模糊匹配方法来处理根据需要计算的值与选择列表中实际可用的值之间的格式差异。

值(value)(期权行使价)始终是计算得出的 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 而不必在 Watir 中弄清楚如何将所有这些选择转换为 Ruby 数组?

最佳答案

xs = ["77.5", "80", "82.5", "85", "87.5", "90", "95", "100", "105"]
xs.min_by { |x| (x.to_f - 82.4).abs }
#=> "82.5"

关于ruby - 如何在数字数组中找到最佳匹配元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11476878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com