gpt4 book ai didi

Ruby to_a 方法卡住了

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:41 27 4
gpt4 key购买 nike

请原谅我的问题,但我是 Ruby 的初学者。 我有一段代码,不知道如何将输出代码制作成一个数组。我尝试使用 Ruby to_a 方法但不起作用,我确信这真的很简单,但请帮助我!!!

length = 2300                               #line 1
divide = 6 #line 2
result = length/divide #line 3

1.upto(divide) do |i| #line 4
p foo = i * result #line 5
end #line 6

输出是 383,766,1149,1532,1915,2298 但我希望得到 [383,766,1149,1532,1915,2298]

最佳答案

您需要推送(使用 << )您的结果到数组 foo 中例如,像这样的东西:

length = 2300                               #line 1
divide = 6 #line 2
result = length/divide #line 3

foo = []
1.upto(divide) do |i| #line 4
foo << i * result #line 5
end

p foo #=> [383, 766, 1149, 1532, 1915, 2298]

另一种方法:

(1..divide).each_with_object([]) { |r,arr| arr << r*result }

参见 Enumerable#each_with_object

但你真的应该使用 map这里:

part = length/divide 
p (1..divide).map { |idx| idx*part } #=> [383, 766, 1149, 1532, 1915, 2298]

关于Ruby to_a 方法卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41198304/

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