メソッドの定義と呼び出し

Rubyにおける「メソッドの定義と呼び出し」について詳しく説明します。


1. メソッドとは

メソッドとは、一連の処理をまとめて名前を付け、何度でも呼び出して使えるようにしたものです。Rubyではオブジェクト指向の言語であるため、すべてのメソッドはオブジェクトに属します(クラスに属するか、特定のオブジェクトに属します)。


2. メソッドの定義方法

Rubyでは def キーワードを使ってメソッドを定義します。

基本構文

ruby
def メソッド名(引数1, 引数2, ...) # 実行される処理 戻り値 end

例1: 引数なしのメソッド

ruby
def say_hello puts "こんにちは" end

例2: 引数ありのメソッド

ruby
def greet(name) puts "こんにちは、#{name}さん" end

例3: 戻り値を持つメソッド

Rubyでは、メソッドの最後に評価された式が戻り値となります。

ruby
def add(a, b) a + b end

上記の add メソッドは a + b の計算結果を戻り値として返します。

明示的に戻り値を返したい場合は return を使います。

ruby
def subtract(a, b) return a - b end

3. メソッドの呼び出し

定義したメソッドは、次のように名前を使って呼び出します。

引数なしの呼び出し

ruby
say_hello

引数ありの呼び出し

ruby
greet("太郎")

戻り値を利用する呼び出し

ruby
sum = add(3, 7) puts sum # => 10

4. 可変長引数

Rubyでは、任意の数の引数を受け取るメソッドも定義できます。

ruby
def show_all(*args) args.each do |arg| puts arg end end show_all("a", "b", "c")

5. デフォルト引数

引数にデフォルト値を設定することもできます。

ruby
def greet(name = "ゲスト") puts "こんにちは、#{name}さん" end greet # => こんにちは、ゲストさん greet("花子") # => こんにちは、花子さん

6. メソッドとスコープ

Rubyでは、メソッド内で定義した変数はそのメソッドの中でしか使えません(ローカルスコープ)。外部の変数に影響を与えないようになっています。


まとめ

  • Rubyでは def でメソッドを定義し、end で終了します。

  • 引数や戻り値を使うことで柔軟な処理が可能です。

  • 可変長引数やデフォルト引数もサポートされており、呼び出し時に柔軟に対応できます。

生成日:2025/05/03