読者です 読者をやめる 読者になる 読者になる

P44 Rubyの初級お作法

●インデントは半角スペース2つ
 半角スペース4つであったり、タグ文字を使ったりするのはNGである。

メソッド名は変数名はスネークケース
 first_nameのようなアンダーバー区切りで書かなければいけない。
 firstNameのようなキャメルケースの引数名や変数名はNGである。

●引数がない場合はメソッド呼び出しに丸括弧()を使わない
 また、引数を伴うメソッド呼び出しでも丸括弧が省略されることがよくある。
  ex. puts 'hello'

メソッドの戻り値にはreturnを付けない
 Rubyでは、最後に評価された式がメソッドの戻り値になるため、returnを付ける必要がない。

●真偽値を返すメソッドの名前は"?"で終わらせる
 真偽値を返すメソッド名は慣習として、"?"で終わらせる。

●+演算子ではなく、式展開を使って文字列を組み立てる
 変数と組み合わせる場合は、式展開(#{})を使う事が多い。
 なお、式展開を使う場合は、文字列をシングルではなくダブルクオートを使う必要がある。
  ex. "Hello, #{name}!"

●ハッシュのキーにはなるべくシンボルを使う
 シンボルは「コロン + 文字列」のリテラルで生成されるオブジェクトである。
 その名前が必ずしも文字列である必要が無い場合は、よく利用される。

●繰り返し処理ではforやwhileではなく、eachを使う
 for fruit in fruitsと書くのではなく、fruits.each do {fruit}と書く。

●配列から条件に合う要素だけを抜き出すときはselectを使う。

numbers = [1, 2, 3, 4,5]
odd_numbers = numbers.select do |n|
  n.odd?
end

●配列から条件に合致する最初の1件を取得するときはfindを使う

numbers = [1, 2, 5, 3,4]
target = numbers.find {|n| n > 3}

●&.演算子nilでもメソッドを安全に呼び出す(Ruby2.3以降)
ボッチオペレータこと&.(safe navigation operator)を用いる事で、
メソッドを呼び出す際にそのオブジェクトがnilであっても、nilが返る様になる。

user&.say 'Hello!'

上記の場合、userオブジェクトが仮にnilであっても、
sayメソッドを実行した際にNoMethodErrorが発生せずにnilが返る。