GStringを読んでみた
GStringはabstract Class
GroovyObjectSupportクラスを継承
GStringはObjectの配列valueを保持している
getStringsでStringの配列を返す抽象メソッドを定義している
invokeMethodではまずGroovyObjectSupportクラスに定義されているメソッドを実行しようとし、MissingMethodExceptionが発生した場合は自身をtoString()した結果のオブジェクトにおけるメソッドを実行しようとする
getValuesでObjectの配列valueを返す
GStringではStringの配列newStringsとObjectの配列valuesを管理している。
toString()ではStringWriterを使う
getStringsの返り値と交互にgetValuesの返り値を繋げる。
valuesにわたってくるのがClosureの場合はパラメーターがゼロの場合はそのままコールして、一つの場合はwriterオブジェクトを渡してコールする。2つ以上の場合は例外発生。
buildメソッドではtoStringのようにstringsでvaluesを交互にコールしながらmkp.yieldをコールする。
equals/hashcode/compareto/charat/length/subsequence/negateはtoStringした結果に対してコールする
- 作者: 関谷和愛,上原潤二,須江信洋,中野靖治
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/06
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 392回
- この商品を含むブログ (155件) を見る
- 作者: Dierk Konig,Andrew Glover,Paul King,Guillaume Laforge,Jon Skeet,杉浦孝,櫻井正樹,須江信洋,関谷和愛,佐野徹郎,寺沢尚史
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 146回
- この商品を含むブログ (121件) を見る
Code Reading―オープンソースから学ぶソフトウェア開発技法
- 作者: トップスタジオ,まつもとゆきひろ,平林俊一,鵜飼文敏
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2004/06/01
- メディア: 単行本
- 購入: 18人 クリック: 550回
- この商品を含むブログ (214件) を見る