LoginSignup
0
0

More than 1 year has passed since last update.

do...endと{}について

Last updated at Posted at 2021-08-20

do...endと{}について

JavaやC言語などは繰り返し処理の場合、for文を使うことが多いと思いますが、
Rubyの繰り返し処理は、eachメソッドを使うことが多いです。

do...endの場合

配列の要素を加算する処理
eachメソッドで配列の要素を順番に取り出す作業を行い、その要素の処理はdoからendまでのブロックに記述します。

do...end
numbers = [1, 2, 3, 4]
sum = 0
numbers.each do |n|
  sum += n
end
sum #=> 10

上記の場合、配列の中から要素1,2,3,4を順番に取り出して、sum += nで各要素を加算する。

{}の場合

do...end以外に{}でもブロックを作ること出来ます。

{}
numbers = [1, 2, 3, 4]
sum = 0
numbers.each do { |n| sum += n }
sum #=> 10

まとめ

do...endと{}の使い分けは明確に決まっているわけではありません。
ただ、下記のように使い分けられるケースが多いです。

・改行を含む長いブロックを書く場合は、do...end
・1行でコンパクトに書きたいときは、{}



参考文献

プロを目指す人のためのRuby入門・・・伊藤淳一[著]

0
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
0
0