在常規教程中,我遇到了下面的代碼:在這種情況下,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