Ruby の名前付きパラメーター

Oluwafisayo Oluwatayo 2024年2月15日
  1. Ruby のパラメータの型
  2. Ruby のオプション パラメータ
  3. Ruby の名前付きパラメーター
  4. まとめ
Ruby の名前付きパラメーター

パラメータについて話すときは、値を割り当てることができる関数を指します。 これらの値は、パラメータの代わりに表示されます。

たとえば、パラメーター fruit を定義し、値 "apple" をパラメーターに割り当てると、"apple" が表示されます。

Ruby のパラメータの型

Ruby で主に適用されるパラメーターには、主に 2つのタイプがあります。 オプションのパラメーターと名前付きパラメーターがあります。

これら 2つのパラメーターの適用例を見て、さまざまな違いを理解しますが、一目でわかる違いの 1つは、オプションのパラメーターが = 記号で定義され、名前付きパラメーターが : サイン。

Ruby のオプション パラメータ

パラメータ内に複数の値を定義する場合にのみ値を再割り当てできるため、オプションのパラメータはほとんどが 1 次元です。

以下の例を見てみましょう。Ruby ファイルを作成し、new.rb という名前を付けて、これらのコードを入力します。

def show_name_and_address(name="James", address="Madison")
  puts "#{name}, #{address}"
end

show_name_and_address

オプションのパラメーター

結果に "James, Madison" が表示されます。 パラメータの値を変更してみましょう。

別のファイルを作成し、new2.rb という名前を付けて、次のコードを入力します。

def show_name_and_address(name="James", address="Madison")
  puts "#{name}, #{address}"
end

show_name_and_address('Bond')

変更が 1つだけ許可されているオプションのパラメーター

"Bond, Madison" と表示された結果が表示されます。 値が変更された唯一のパラメーターは、最初のパラメーターである name パラメーターです。 しかし、address パラメータの値を変更したい場合はどうすればよいでしょうか?

新しいファイルを作成し、new3.rb という名前を付けて、このスニペットを入力します。

def show_name_and_address(name="James", address="Madison")
  puts "#{name}, #{address}"
end

show_name_and_address(address='Bond')

このコードを実行すると、name パラメータのみが変更されることがわかります。

オプションで指定不可

address パラメータは変更できません。 これは、オプションのパラメーターと比較して、名前付きパラメーターがうまく機能する場所です。

Ruby の名前付きパラメーター

オプションのパラメーターとは異なり、名前付きパラメーターは、関数に値を追加する際により柔軟なアプローチを提供します。 name パラメーターと address パラメーターの両方に割り当てる値を変更できます。

これを実際に確認するために、以下の例を見てみましょう。

新しいファイルを作成し、new.rb という名前を付けて、次のコードを追加します。

def show_name_and_address(name: "James", address: "Madison")
  puts "#{name}, #{address}"
end

show_name_and_address(name: 'Bond')

名前付きパラメータ変更名

name 変数に割り当てられた値が "Bond" に変更されていることがわかります。 しかし、これで問題ありません。 これは、オプションのパラメーターでできることです。

address 変数に値を代入する方法を見てみましょう。

新しいファイルを作成し、new2.rb という名前を付けて、次のコードを入力します。

def show_name_and_address(name: "James", address: "Madison")
  puts "#{name}, #{address}"
end

show_name_and_address(address: 'Bond')

名前付きパラメータ変更アドレス

address パラメータに割り当てられた値が Bond に変わることがわかります。

名前付きパラメーターが最初の例と同じ結果を表示するようにしたい場合は、オプションのパラメーターを使用して、= 記号を : に変更します。

まとめ

複数のパラメーターの値を変更する必要がある場合、名前付きパラメーターはオプションのパラメーターよりもうまく機能します。 どちらの方法を適用するかは、何を達成したいかによって異なります。

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn