我use在Groovy中读取了关键字.但是,由于它已被完全使用,所以无法提出.而且我也有类别课程,在这个主题下,那也是什么?来自,Groovy In Action
class StringCalculationCategory {
static def plus(String self, String operand) {
try {
return self.toInteger() + operand.toInteger()
} catch (NumberFormatException fallback) {
return (self << operand).toString()
}
}
}
use (StringCalculationCategory) {
assert 1 == '1' + '0'
assert 2 == '1' + '1'
assert 'x1' == 'x' + '1'
}
Run Code Online (Sandbox Code Playgroud)
有了上面的代码,谁能说use在groovy中使用关键字有什么用?以及上面的代码是做什么的?
Ada*_*dam 22
见皮条客我的图书馆模式什么use呢.
在您的情况下,它会使String.add(something)操作员超载.如果两个字符串都可以用作整数(toInteger()不抛出异常),则返回这两个数字的总和,否则返回字符串的串联.
Sim*_*wsi 13
如果您有一个没有源代码的类(例如在库中)并且您想要为该类添加新方法,则use非常有用.
顺便说一句,这个帖子在达斯汀马克思的博客通过实际活动的启发指出:
使用"keyword"实际上不是关键字,而是Groovy的Object类GDK扩展的方法,并通过Object.use(Category,Closure)提供.Groovy GDK对象上提供了许多其他方法,可以方便地访问功能,并且可能看起来像语言关键字或函数,因为它们不需要对象的名称来继续它们.我倾向于不在我的Groovy脚本中使用这些名称(例如is,println和sleep)来避免潜在的可读性问题.
还有其他类似的"关键字"实际上是Object类的方法,例如with.在Groovy的JDK文档具有这样的方法列表.