如何使用ruby检查特定范围内的整数是否存在?

更新于
2026-10-09 18:44:24
2阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计251个文字,预计阅读时间需要2分钟。

如何使用ruby检查特定范围内的整数是否存在?

我尝试找到最合适的方法来确定特定整数的所在范围。以下是一个示例:

json{ score_levels: { 1: { name: Beginner, range: 0..50 }, 2: { name: Intermediate, range: 51..70 }, 3: { name: Pro, range: 71..85 } }}

我试图找到确定给定整数在哪个范围内的最佳方法.
以此哈希为例:

score_levels = { 1 => {'name' => 'Beginner', 'range' => 0..50}, 2 => {'name' => 'Intermediate', 'range' => 51..70}, 3 => {'name' => 'Pro', 'range' => 71..85}, 4 => {'name' => 'Expert', 'range' => 86..96}, 5 => {'name' => 'Master', 'range' => 97..100} }

我希望在得分时运行不同的逻辑,例如:

如何使用ruby检查特定范围内的整数是否存在?

case score when score_levels[1]['range'] level_counters[1] += 1 when score_levels[2]['range'] level_counters[2] += 1 when score_levels[3]['range'] level_counters[3] += 1 end

有更通用的方法吗?
也许是这种精神的东西:

score_levels.each |key, val| {if val['range'].member?(score) then level_counters[key] += 1 }

谢谢!

就在这里.

level_counters[score_levels.find{|_, h| h["range"].include?(score)}.first] += 1

本文共计251个文字,预计阅读时间需要2分钟。

如何使用ruby检查特定范围内的整数是否存在?

我尝试找到最合适的方法来确定特定整数的所在范围。以下是一个示例:

json{ score_levels: { 1: { name: Beginner, range: 0..50 }, 2: { name: Intermediate, range: 51..70 }, 3: { name: Pro, range: 71..85 } }}

我试图找到确定给定整数在哪个范围内的最佳方法.
以此哈希为例:

score_levels = { 1 => {'name' => 'Beginner', 'range' => 0..50}, 2 => {'name' => 'Intermediate', 'range' => 51..70}, 3 => {'name' => 'Pro', 'range' => 71..85}, 4 => {'name' => 'Expert', 'range' => 86..96}, 5 => {'name' => 'Master', 'range' => 97..100} }

我希望在得分时运行不同的逻辑,例如:

如何使用ruby检查特定范围内的整数是否存在?

case score when score_levels[1]['range'] level_counters[1] += 1 when score_levels[2]['range'] level_counters[2] += 1 when score_levels[3]['range'] level_counters[3] += 1 end

有更通用的方法吗?
也许是这种精神的东西:

score_levels.each |key, val| {if val['range'].member?(score) then level_counters[key] += 1 }

谢谢!

就在这里.

level_counters[score_levels.find{|_, h| h["range"].include?(score)}.first] += 1