gpt4 book ai didi

ruby - 这段代码中的 NilClass 在哪里? (欧拉计划 #8)

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

在检查了别人的解决方案后,我这里的代码似乎与正确答案非常相似。我认为唯一的区别是我定义 ab 的方式。出于某种原因,它说它们都在 NilClass 中......?

def product(num)
i = 0
j = 4
arr = num.to_s.scan(/d/).map {|e| e.to_i} #can use .split('') vs .scan
a = (arr[i]..arr[j]).inject(:*) # vs (1) {|product, n| product * n}

while j <= arr.length
b = (arr[i+1]..arr[j+1]).inject(:*)

a = b if b > a
i+=1
j+=1
end
puts a
end

最佳答案

正则表达式文字 /d/ 匹配 d litearlly.

如果你想匹配数字,你应该使用 \d 代替。

否则不匹配; arr 成为一个空数组。索引空数组总是产生 nil

arr = []
arr[0] # => nil

关于ruby - 这段代码中的 NilClass 在哪里? (欧拉计划 #8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22187960/

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