在常规教程中,我遇到了下面的代码:在这种情况下,groovy << operator是什么意思?
class DateTagLib {
def thisYear = {
out << Calendar.getInstance().get(Calendar.YEAR)
}
}
我不知道<<
手段是什么,以及我在与谷歌没有运气。
编辑:我现在知道<<
有时候会有点变化。但这里是什么意思?
在常规教程中,我遇到了下面的代码:在这种情况下,groovy << operator是什么意思?
class DateTagLib {
def thisYear = {
out << Calendar.getInstance().get(Calendar.YEAR)
}
}
我不知道<<
手段是什么,以及我在与谷歌没有运气。
编辑:我现在知道<<
有时候会有点变化。但这里是什么意思?
在常规中,按位运算符可以用该类上定义的leftShift (<<)
和rightShift (>>)
方法覆盖。使用leftShift
方法对字符串,缓冲区,流,数组等进行追加操作,这就是惯用的习惯,这就是你在这里看到的。
例如:
leftShift
方法上OutputStream
其用于附加字节,一个InputStream
或Object
到流。List
,也使用它作为一个附加你正在寻找一个Grails标记库,让出代表真实所呈现的页面。该taglib的结果将被添加到将呈现给客户端的输出缓冲区中。
假设出是的System.out的< <操作者在这种情况下写入到出。 为输出(写入流)重载< <以及用于输入(从流中读取)的“C++”来自C++。当stdio库(istream ostream等)被定义时,这个想法就诞生了,使用左移和右移来输出和输入。
在我的整个生活中没有看到过一行Groovy,它看起来像'out << foo'可能是'return foo'的语法。或者out是某种具有时髦重载的对象,导致同样的事情,即'out'对象上的'<<'操作符只是返回它的参数值... – 2010-09-04 07:34:49
看起来像'<< ='会是这里更合适,但我也不太了解它。 – djangofan 2013-01-16 00:55:54