Rubyを学んでいます。クラスからメソッドを定義解除できます。
class Person
undef :talk
end
しかし、このコードを試してみたところ、「:」記号を使用しなくても機能することがわかりました。
class Person
undef talk
end
では、この「:」は必要なのか、この「:」は何を表しているのだろうか。
Rubyを学んでいます。クラスからメソッドを定義解除できます。
class Person
undef :talk
end
しかし、このコードを試してみたところ、「:」記号を使用しなくても機能することがわかりました。
class Person
undef talk
end
では、この「:」は必要なのか、この「:」は何を表しているのだろうか。
:talk
は記号なので、なしで使用する必要があります:
undef talk
オブジェクト#undefを参照
undef への引数は、シンボルや文字列ではなく、メソッド名であることに注意してください。
:foo
はRubyのシンボルです。大まかに言えば、名前がその値であるインターンされた文字列です。
Object#undef
ドキュメントに従って、文字列やシンボルではなく、メソッドを引数として期待します。この特定のケースでは、ドキュメントによると、シンボルの構文が正しくありません。