【ruby】ハッシュとキーワード引数の違い

rubyを学習していた中で、ハッシュとキーワード引数の違いがよくわかっていなかったので、備忘録としてメモに残しておきます。

ハッシュとキーワード引数の違いについて

そもそもハッシュとは何ぞや

ハッシュは、複数の値をまとめて管理する方法の1つで、配列以外の方法。

ハッシュの作り方には3パターンある

いずれの方法でも共通しているのが{}で囲うことと、複数の値をまとめて管理するので「変数に代入している」点である。

そして、ハッシュの各要素の値は対応する「キー」を使うことで呼び出すことができる。

キーはシンボルで呼び出すことができるので、とても配列的だと感じるね。

一方でキーワード引数

キーワード引数はあくまで「引数」なので、引数のなかで定義する

で、このときに勘違いしやすいのが「キーワード引数=シンボル?」ということである。実際に書いてみるととても混同

シンボルはあくまで「”文字列”」のものを「:文字列」であらわした(もちろん厳密には違う)ので、シンボルを使うことはない。

キーワード引数はあくまでもメゾットの引数(仮引数)なので、そもそもモノが違う、ということ。

ただし、メソッドを呼び出す場合はキーワード引数をシンボルとして扱ってもよい模様。

ではどのような時にごっちゃになるのか。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です