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

如何使用Enumerable#reject实现筛选长度不超指定值的单词数组?

问题分析与修正

你的代码存在两个关键问题:

  • 块参数错误:数组中的每个元素是单个单词,并非键值对形式,不需要words, value两个参数,仅需一个参数接收单个单词即可。
  • 逻辑表达错误:reject方法会移除块中返回true的元素,你需要明确判断单词长度大于max_length的元素,将这类元素排除后,剩下的就是长度不超过限制的目标单词数组。

修正后的代码:

def short_words(array, max_length)
  array.reject { |word| word.length > max_length }
end

验证示例

调用 short_words(["apple", "cat", "dog", "elephant"], 3) 会返回 ["cat", "dog"],完全符合长度不超过3的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:55:25