エラーメッセージはちゃんと読め

Ruby における ArgumentError 発生時に表示されるエラーメッセージについて理解した。整理する。

例えば以下のようなメッセージだったとすると、

ArgumentError: wrong number of arguments (0 for 1)

これまでは、(0 for 1) の部分をよくわかっていないまま放置していた感がある。

このエラーメッセージは、

  • メソッドの引数に関するエラーが発生して
  • 引数の数が違っていて
  • 受け取る引数の数が 1 なのに対して、0 つまり引数が何も渡されていない

ということを言っている。

for の前の数がメソッドが呼ばれた時に実際に渡された引数の数を表していて、for の後ろの数がメソッドが受け取る引数の数を表している。

最近「エラーメッセージから学ぶ Rack」を改めて読んでいて、上記のようなエラーメッセージで混乱することがあり、こんなサイテーヘンエンジニャみたいなことを反省の意を込めてわざわざ書いている。前から (0 for 1) の部分をあんまり理解していないなとは思っていて、つまりこれまでは (0 for 1) の部分からきちんと情報を得られていなかったということだ。あほっぽい。

「エラーメッセージから学ぶ Rack」は、題名の通り Rack についてエラーメッセージを通して学んでいこうとする試みで、つまり最初は config.ru もない状態で rackup コマンドを実行して出たエラーメッセージをとっかかりに進めていくかんじだ。おもしろい。

エラーメッセージ、重要情報を提供してくれるので、ナニヒョウジサレテイルノカイミワカンネ \^q\^ となっても理解してちゃんと読むほうが得だ。当たり前ですねわかります。