■
mixinとMixinアノテーションをみて試してみた。
class HelloMixin { static void hello(t){ println "hello $t" } static void magic(t,s){ println "$t is $s" } } String.mixin(HelloMixin) "World".hello() "Groovy".magic('cool') Integer.mixin(HelloMixin) // 整数にもmixinしてみる 123.hello() 123.magic('cool')
hello World Groovy is cool hello 123 123 is cool
mixinされたメソッドの最初の引数には、オブジェクト自身が渡されるみたい。
magic(t,s) って定義してるのに、使うときはmagic('cool')なんて、後で読む時に苦労しそう。