You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby中是否有方法可判断两个Integer的差值大于指定数值?

Ruby判断两个整数差值超过指定阈值的简洁实现

你可以直接用Ruby内置的abs(绝对值)方法简化逻辑,比原来的或判断可读性更高,和原有逻辑完全等价:

def check_discrepancy(a, b)
  'discrepancy between values!' if (a - b).abs > 5
end

如果需要明确体现区间判断逻辑,也可以用between?方法实现:

def check_discrepancy(a, b)
  'discrepancy between values!' unless a.between?(b - 5, b + 5)
end

如果需要适配不同的差值阈值,可以把阈值改为可配置参数,复用性更强:

# 阈值默认值为5,调用时可自定义传入其他数值
def check_discrepancy(a, b, threshold = 5)
  'discrepancy between values!' if (a - b).abs > threshold
end

以上用到的都是Ruby整数类的内置方法,无需引入额外依赖,性能和原有实现一致。

内容的提问来源于stack exchange,提问作者Baitalon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:30:05