for( i=-n; i<=n; i+=2){
アブラカダブラ
}
という構造を Ruby で
i = - n
while i <= n do
アブラカダブラ
i += 2
end
と書くよりスマートに(可読性も含めて)記述する方法をご存じでしたら教えてください。
http://www.ruby-lang.org/ja/man/?cmd=view;name=Numeric
Rubyリファレンスマニュアル - Numeric
Numericクラスにある step メソッドを使います。
実行例です:
irb(main):003:0> 0.step(10, 2) {|i| p i}
0
2
4
6
8
10
http://www.hatena.ne.jp/1128899922
人力検索はてな - n は自然数とします。 for( i=-n; i<=n; i+=2){ アブラカダブラ } という構造を Ruby で i = - n while i <= n do アブラカダブラ i += 2 end と書くよりスマートに..
あっ、実行例が適切じゃなかったです。
質問の例で実行した場合です。
irb(main):001:0> n=4
=> 4
irb(main):002:0> (-n).step(n,2) {|i| p i}
-4
-2
0
2
4
=> -4
実行したバージョンは、1.8.2です。
ありがとうございます。
http://www.hatena.ne.jp/1128899922#
人力検索はてな - n は自然数とします。 for( i=-n; i<=n; i+=2){ アブラカダブラ } という構造を Ruby で i = - n while i <= n do アブラカダブラ i += 2 end と書くよりスマートに..
n=10
x=2
for i in -n..n
next unless (i%x)==0
puts i
end
こんな感じでは、どうでしょうか。
僕としては、while を使った方が未だ可読性が高いと思います。
ありがとうございました。
1,2 番の方法で満足しましたので、質問は終了とさせていただきます。
Ruby は2年ほど使っていましたが、知りませんでした、聞いてみるもんですね。
ありがとうございます。