50147


Ruby初心者です．  
任意の刻み幅で，任意の最小値と最大値までの配列の作り方を教えていただきたいです．

例：刻み幅5，最小値20，最大値85 であれば，以下のような配列です．  
`[20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80]`

ご教授宜しくお願い致します．


CC BY-SA 4.0
2018-11-01T15:59:50.187
49872
2018-11-10T00:02:39.980
30173
question
ruby
任意の刻み幅で，任意の最小値と最大値までの配列の作り方


もっとエレガントな方法はあると思いますが、愚直に書くと

[code]

    #! /usr/bin/ruby
    minimum = 20
    maximum = 85
    step = 5
    
    result = Array.new()
    currentValue = minimum
    while (currentValue <= maximum) do
        result.push(currentValue)
        currentValue = currentValue + step
    end
    
    p result # => [20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85]
    
[/code]

これでいかがでしょうか？


CC BY-SA 4.0
2018-11-01T16:49:15.493
49873
2018-11-01T16:49:15.493
14745
49872
answer

[code]

    (20..85).to_a.select{|num| num % 5 == 0}
    
[/code]


CC BY-SA 4.0
2018-11-09T12:33:51.933
50130
2018-11-09T23:47:40.563
2018-11-09T23:47:40.563
30913
30913
49872
answer


[step メソッド](https://docs.ruby-lang.org/ja/latest/method/Numeric/i/step.html)
を使うと良いかと思います。

[code]

    20.step(85, 5).to_a
    
[/code]

\-- この回答は [metropolis](https://ja.stackoverflow.com/users/16894/metropolis)
さんの[コメント](https://ja.stackoverflow.com/questions/49872/%E4%BB%BB%E6%84%8F%E3%81%AE%E5%88%BB%E3%81%BF%E5%B9%85%E3%81%A7-%E4%BB%BB%E6%84%8F%E3%81%AE%E6%9C%80%E5%B0%8F%E5%80%A4%E3%81%A8%E6%9C%80%E5%A4%A7%E5%80%A4%E3%81%BE%E3%81%A7%E3%81%AE%E9%85%8D%E5%88%97%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9#comment52001_49872)を回答化したものです。


CC BY-SA 4.0
2018-11-10T00:02:39.980
50147
2018-11-10T00:02:39.980
19110
49872
answer