Ruby on Rails 始めました

Javaやphpはそこそこ書ける程度の人が、Ruby on Railsを一から習得する過程を記したサイト

Rubyの基本文法

キーワード引数とオプション引数についてまとめてみた

引数は渡す順番に依存する

 普通、引数っていうのは渡す順番に依存する。

 例えば、こんなdataメソッドがあるとする。↓

 このdataメソッドを使う時に、引数を逆にすると変になる。↓

 このように、普通、引数っていうのは渡す順番に依存する。

キーワード引数とは?

 この順番への依存を開放したのが、キーワード引数

キーワード引数の特徴

  • メソッド定義時に各引数を、key: 値の形(ハッシュ)で定義する
  • メソッド呼び出し時も、key: 値の形(ハッシュ)で引数を渡す

 ↑定義部分も、呼び出し部分も引数がハッシュになっているのが分かると思う。

 これなら、引数の順番は気にするは必要ないし、デフォルト値がある為、引数を渡さなくてもエラーにはならないので自由な使い方ができる。↓

 デフォルト値は必須ではない。
※Ruby2.0以前は必須だった。

 ただしデフォルト値が無い場合は、その引数を渡さずに呼ぶと実行時エラーになる。

 シンボル、ハッシュについてよく分からない場合は以下を参照されたし。

参考Railsでよく出てくるコロン(:)は、シンボルって言うやつらしい
参考Rubyのハッシュ(Hash)についてまとめてみた

 引数がハッシュの形になっているとは言え、定義時も呼び出し時も、普通のハッシュのように{ }で囲うとエラーになるので注意。↓

 ただし、ネストしたハッシュの場合は{ }が必要。

オプション引数とは?

 オプション引数というのは、key自体も自由に渡せる引数のことを言う。

 オプション引数は定義時に**引数名という形で定義する。

 オプション引数は、可変長引数のように数に制限なく渡すことができる。

 キーワード引数と組み合わせて定義することもできる。

コメントを残す




関連記事

Pick Up