1. 首页
  2. 考试认证
  3. 其它
  4. 重写注入方法 创客学院第二周末挑战

重写注入方法 创客学院第二周末挑战

上传者: 2024-10-27 18:24:10上传 ZIP文件 3.19KB 热度 7次

重写注入创客学院的第二个周末挑战。本次任务的核心是重新编写数组类的inject方法。注入操作适用于各种可枚举对象,但此挑战仅聚焦于数组

核心任务

开发者需要重新打开Array类或其子类并重写inject方法。以下是具体步骤:

  1. 编写测试:首先为新方法编写测试,但注意不要命名为inject(),因为Rspec中内部使用了此方法。

  2. 实现方法:目标是实现一种可以使用初始“累加器”值的inject方法,该值默认从数组的第一项开始,也可以设置为特定数值(如0)。

  3. 方法过程:该方法会遍历数组中的每个后续元素,对累加器值执行由块定义的操作。例如,累加器可以递增或根据元素的计算重新赋值。

如果你想挑战自己,还可以使用递归迭代两种方式重写inject,不过这不作为必须项。以下是一个使用零作为累加器的inject示例,最终实现数组总和的计算:


 [1, 2, 3].inject(0) { |sum, num| sum + num }

# 输出:6

下载地址
用户评论