私は Groovy カテゴリを使用する DSL の下で作業しており、use(MyCategory){ myObject.doSomething() }
コマンドごとに明示的に記述せずに Groovy シェルで DSL を使用する方法を見つけたいと考えています。
たとえば、次のおもちゃのカテゴリがあるとします。
class MyCategory {
static Integer plus(Integer integer, String string){
return integer + Integer.valueOf(string)
}
}
次に、このカテゴリをgroovysh
次のように使用できます。
groovy> use(MyCategory){ 2 + '3' } //gives 5
それで、すべてのコマンドMyCategory
に対してグローバルに設定する方法はありますか? 例えば:groovysh
use(MyCategory) { ... }
groovy> useGlobally(MyCategory); //call something like this only once
groovy> 2 + '3' //automatically uses MyCategory and gives 5