次のコードは、本ExceptionalRubyからのものです。
starts_with_a = Object.new
def starts_with_a. ===(e)
/^A/ =~ e.name
end
新しいオブジェクトが割り当てられている最初の行をコメントアウトすると、次のstarts_with_a
エラーが発生します。
`<main>': undefined local variable or method `starts_with_a' for main:Object (NameError)
starts_with_a
質問1:そのエラーを回避するために、なぜ新しいオブジェクトを割り当てる必要があるのですか?
また、メソッド定義starts_with_a
には、の.
前にa===
がありますが、変数にstarts_with_a
はありません。.
メソッド定義でそれを省略した場合、エラーが発生します。
質問2:それで何が起こっているの.
ですか?なぜ必要なのかなど。