Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby to_方法卡住了_Ruby - Fatal编程技术网

Ruby to_方法卡住了

Ruby to_方法卡住了,ruby,Ruby,请原谅我的问题,但我是学习Ruby的初学者。 我有一块代码,不知道如何将输出代码生成数组。我尝试使用Ruby来创建一个方法,但没有成功,我确信这非常简单,但请帮助我 length = 2300 #line 1 divide = 6 #line 2 result = length/divide #line 3 1.upto(div

请原谅我的问题,但我是学习Ruby的初学者。 我有一块代码,不知道如何将输出代码生成数组。我尝试使用Ruby
来创建一个
方法,但没有成功,我确信这非常简单,但请帮助我

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
输出是
3837661149153219152298
,但我的愿望是拥有
[3837661149153219152298]
你需要推送(使用
你可以直接得到你想要的:

length = 2300
divide = 6
result = length/divide

(result..length).step(result).to_a
#=> [383, 766, 1149, 1532, 1915, 2298]


返回一个数组,其结果是为每个元素运行一次块-

(1..divide).each_with_object([]) { |r,arr| arr << r*result }
part = length/divide 
p (1..divide).map { |idx| idx*part } #=> [383, 766, 1149, 1532, 1915, 2298]
length = 2300
divide = 6
result = length/divide

(result..length).step(result).to_a
#=> [383, 766, 1149, 1532, 1915, 2298]
length = 2300
divide = 6

(0..length).step(length/divide).drop(1)
#=> [383, 766, 1149, 1532, 1915, 2298]
length = 2300                               #line 1
divide = 6                                  #line 2
result = length/divide                      #line 3

res = 1.upto(divide).map do |i|             #line 4
   i * result                               #line 5
end 

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