1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🛴ループ処理まとめ🔁❶ ー for文

Posted at

for文

  • シンプルな繰り返し処理に適した記法である
  • Rubyでは.eachメソッドの利用が主流

「Rubyにもfor文はあります。ですが、ほとんどのRubyプログラマはfor文は使いません。筆者も長年Rubyを使っていますが、for文を書いたことは一度もありません。Rubyの場合は(中略)配列自身に対して「繰り返せ」という命令を送ります。ここで登場するのがeachメソッドです。」
出典:伊藤淳一『プロを目指す人のためのRuby入門[改訂2版] 言語仕様からテスト駆動開発・デバッグ技法まで』技術評論社, 2021年12月2日. ISBN: 978-4-297-12437-3

特徴

  • 古典的かつ直感的な構文である
  • 明示性を重視する反面、Rubyらしさには欠ける

記法

for 変数 in コレクション do
  処理内容
end
  • コレクション:Range、配列、ハッシュ、Enumerableをincludeしたオブジェクトである
  • doは省略可能

実例

for i in 1..5 do
  puts i
end
# => 1
#    2
#    3
#    4
#    5
  • i
      - ループ内で利用する変数=ループ変数
      - コレクションの要素を順次iに代入し格納する
  • コレクション
      - 範囲オブジェクト、配列、ハッシュ、Enumerableモジュールなどのオブジェクトのこと
  • do
      - 省略可能

eachメソッドとの比較

比較項目 for文 eachメソッド
記法 for 変数 in コレクション コレクション.each do| 変数 | … end
スコープ ループ変数が外部スコープにも残る ブロック内ローカル変数として限定される
推奨度 利用頻度が低く、レガシーな記法である モダンかつ安全性の高い書き方として広く採用される

まとめてみて

  • レガシーでオールドでオブソリートなら割り切って覚えなくていいかな・・・
  • 必要な時があったら、調べて書ければいいレベルかもしれない。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?