まえがき
再学習用に記事へ起こしました。
C# - いろいろな方法で1から100までを出力する みたいな感じで、メモ書きです。
1. Array
puts [1, 2, 3, 4, ... , 100]
1
~100
まで記述したArray
クラスのオブジェクトを表示するという力技!
2. Range を Array に変換
puts [*1..100]
1..100
と宣言するだけだとRange
クラスだけど、
[*1..100]
と宣言するとRange
クラスをArray
クラスへ変換してくれる。
べんりヾ(。>◡<)ノ"
3. each
(1..100).each{|n| p n }
Rubyistならeach
は使いまくってると思う( ‘◟ ‘)✧
Array
でもRange
でも、要素を1つずつ処理できるヤツです。
個人的にはeach
とmap
とinject
をよく使う(論点ずれてる
4. times
100.times{|n| p n+1}
繰り返す回数が決まってる場合はtimes
使うよね!
名の通り、指定回数繰り返す便利なヤツだよ(๑˃̵ᴗ˂̵)و
5. upto
1.upto(100){|n| p n}
最小と最大が決まってる場合はupto
も有効だね◝(╹▿╹)◜
upto
の逆でdownto
もあるから、降順に処理も楽チン!
6. step
1.step(100){|n| p n }
step
って名前が直感的でいいよね!
n.step(max, m)
と宣言すると、n
にmax
を超えるまでm
を加算してくれるよ☆ゝω・)v
1.step(10, 4)
だと1, 5, 9
だね。
因みにこいつはm
の部分にマイナス値や浮動小数も宣言できるよ!
7. for
for n in 1..100
p n
end
他言語のfor
やforeach
にあたるやつがこれかな?
ただ、Rubyはeach
があるから滅多に使わないね……(٥﹏٥` )
8. loop
n = 0
loop{
n += 1
break if n > 100
p n
}
名前の通りブロック内をloop
させるヤツだね。
for
と同じく滅多に使わな……(´・ω・`)
9. while
n = 0
while n < 100 [do]
n += 1
p n
end
終了条件が変化する時などはwhile
をよく使うよね!
終了条件が真の間、ずっと繰り返す処理だね。
Rubyの構文がすごいところは、if
やwhile
などが後置できるところだねƪ(•◡•ƪ)
こんな感じで書けるもんね! ⇒ p n+=1 while n < 100
※do
はあってもなくてもいいようです。
10. until
n = 0
until n >= 100 [do]
n += 1
p n
end
これはぶっちゃけ、while
の終了条件のnot
だから特筆することないんだけど…。
個人的には、while
で書く際に、終了条件が複雑になってしまい、not
したら読みやすくなる場合にuntil
を使うよ!(*´~` *)
まとめ
えんじょい るびー ぷろぐらみんぐ!