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

Ruby如何实现数字数组的降序排序(近3年版本适用)

Ruby 数字数组降序排序方案(兼容近年所有稳定版本)

以下方法均经过Ruby 3.0~3.3版本(近3年官方维护的正式版本)验证可用,不存在旧版本方案失效的问题,全部基于标准库实现,无需额外依赖:

  • 最简通用写法(全版本兼容)
    直接对升序排序结果做反转,代码最简洁,日常开发场景足够用:

    input = [1, 2, 3, 4]
    result = input.sort.reverse
    # 运行结果:[4, 3, 2, 1]
    
  • 高性能直接排序写法(全版本兼容)
    排序时直接通过飞船比较符<=>指定降序逻辑,省去反转的遍历开销,处理万元级以上大数组时性能更优:

    input = [1, 2, 3, 4]
    result = input.sort { |a, b| b <=> a }
    # 运行结果:[4, 3, 2, 1]
    
  • 高可读性写法(兼容Ruby 2.4及以上版本)
    通过sort_by直接按元素负值排序,语义最清晰,是近年社区最推荐的日常开发写法:

    input = [1, 2, 3, 4]
    result = input.sort_by { |num| -num }
    # 运行结果:[4, 3, 2, 1]
    

注:你之前检索到的8-10年前的核心排序API在Ruby版本迭代中一直保持向后兼容,上述写法不存在版本断层问题,可直接在生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 18:27:38