gpt4 book ai didi

Ruby:Module、Mixins 和 Blocks 令人困惑?

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:28 25 4
gpt4 key购买 nike

以下是我尝试从 Ruby Programming 书中运行的代码 http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html

为什么 product 方法没有给出正确的输出?我用 irb test.rb 运行它。我正在运行 Ruby 1.9.3p194

module Inject
def inject(n)
each do |value|
n = yield(n, value)
end
n
end

def sum(initial = 0)
inject(initial) { |n, value| n + value }
end

def product(initial = 1)
inject(initial) { |n, value| n * value }
end
end

class Array
include Inject
end

[1, 2, 3, 4, 5].sum ## 15
[1, 2, 3, 4, 5].product ## [[1], [2], [3], [4], [5]]

最佳答案

自从编写该代码示例后,Array 获得了 #product方法,您将看到该特定方法的输出。将模块的方法重命名为类似 product_new 的名称。

关于Ruby:Module、Mixins 和 Blocks 令人困惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14088513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com