Menu
CoddyTech

回顾:数据管道

本课属于 Coddy Ruby 学习旅程的“逻辑与流程”单元。第 27 课,共 56 课。

一个挑战:用一系列 Enumerable 方法处理一个小型数据集,就像你在实际编写 Ruby 时那样。

challenge icon

挑战

中等

给定数组 orders,其中每个元素都是一个包含 :product、:qty 和 :price 的哈希。打印三行:

  1. 所有订单的总收入(将 qty * price 相加)。使用 map + reduce(:+),或 sum { ... }。
  2. qty >= 3 的订单数量(使用 count)。
  3. 收入最高的订单的产品名称(使用 max_by)。

对于默认数组,输出为:

59
2
milk

亲手试试

orders = [
  { product: "apple",  qty: 4, price: 2 },
  { product: "bread",  qty: 1, price: 3 },
  { product: "milk",   qty: 6, price: 4 },
  { product: "cheese", qty: 2, price: 12 }
]

# TODO:计算总收入、统计 qty >= 3 的订单数量,找出收入最高的商品

逻辑与流程中的所有课

自己练习: Ruby 在线编译器