Rubyメソッド:defで再利用
Ruby基礎とメソッド定義
Rubyはオブジェクト指向言語であり、メソッド定義はコードを再利用可能にする基本的な手段です。メソッドは def キーワードで開始し、end で終了します。これにより、同じ処理を複数回呼び出すことができ、プログラムの可読性と保守性が向上します。
defと引数
メソッドを定義する際に def の後にメソッド名と引数を記述します。引数はメソッドに値を渡すためのプレースホルダーで、呼び出し時に実際の値を渡します。例として、2つの数値を足し合わせるメソッドを作るときは次のように書きます。
def add(a, b)
a + b
end
ここで a と b は引数です。Rubyでは引数にデフォルト値を設定したり、可変長引数を受け取ることも可能です。
戻り値とreturn省略
Rubyのメソッドは最後に評価された式の値を自動的に戻り値として返します。したがって、return キーワードを省略しても戻り値は得られます。上記の add メソッドでは a + b が最後の式であり、その結果が戻り値になります。
明示的に return を書く場合は、途中で処理を終了させたいときに便利です。例えば、入力が不正な場合に早期リターンするケースです。
def safe_divide(a, b)
return nil if b == 0
a / b
end
endとスネークケース
メソッド定義は必ず end で閉じる必要があります。end を忘れると構文エラーになります。メソッド名は慣例としてスネークケース(小文字+アンダースコア)で書くのが一般的です。例: calculate_total。スネークケースは可読性が高く、Rubyコミュニティで広く受け入れられています。
再利用と定義方法
メソッドを再利用するためには、共通の処理を抽象化し、引数で差分を渡す設計が重要です。例えば、ログ出力を行うメソッドを作るときは次のようにします。
def log(message, level = :info)
puts "[#{level.upcase}] #{message}"
end
このメソッドは message とオプションの level を受け取り、呼び出し側で必要に応じて使い分けられます。こうした定義方法はコードの再利用性を高め、バグの発生を抑える効果があります。
コメント
コメントを投稿