私は Groovy を学び始めており、現在メタクラスの機能を調べています。新しいメソッドを追加してすべてのメソッドを削除する例を見てきましたが、単一のメソッドを削除することについては何もありません。例えば:
String.metaClass.foo = {delegate.toUpperCase()}
String.metaClass.bar = {delegate.toLowerCase()}
明らかな副作用があります。今、私はあなたが言うことができることを見てきました
String.metaClass = null
すべてのメソッドを削除します。私は、人が次の線に沿って何かを言うことができると期待しています
String.metaClass.foo = null
String.foo() を削除しますが、String.bar() は残しますが、このステートメントは何の効果もないようです。bar() やその他の追加されたメソッドに影響を与えずに、メソッド foo() を定義しないようにする方法はありますか?