#navi_header|Groovy| Groovyが拡張してくれたObject.dump()とinspect()が便利。 dump()はJavaのクラス名とか内部プロパティまで詳細情報を文字列で取得出来ます。 inspect()ですとフレンドリーな文字列表現を取得出来ます。 つまるところ、printlnとかロギングでのデバッグ出力で便利です。 例:t_collections.groovy ( http://groovy.codehaus.org/Collections から適当に練習用に抜き出した。) #pre||> def c1 = [1, 2, 3] println '------------------------------------' println 'dump() : [' + c1.dump() + ']' println 'inspect(): [' + c1.inspect() + ']' c1 << 4 println '------------------------------------' println 'dump() : [' + c1.dump() + ']' println 'inspect(): [' + c1.inspect() + ']' c1 << [5, 6] << 7 println '------------------------------------' println 'dump() : [' + c1.dump() + ']' println 'inspect(): [' + c1.inspect() + ']' def c2 = [:] println '------------------------------------' println 'dump() : [' + c2.dump() + ']' println 'inspect(): [' + c2.inspect() + ']' c2['name'] = 'abc' c2.age = 20 def m1 = { you -> return "hello, ${you}." } c2.greet = m1 println '------------------------------------' println 'dump() : [' + c2.dump() + ']' println 'inspect(): [' + c2.inspect() + ']' println c2.greet('bob') def c3 = new Expando() c3.name = 'Jon' c3.greet = { "Good morning, ${name}" } println '------------------------------------' println 'dump() : [' + c3.dump() + ']' println 'inspect(): [' + c3.inspect() + ']' println c3.greet(); ||< 実行: #pre||> $ groovy t_collections.groovy ------------------------------------ dump() : [] inspect(): [[1, 2, 3]] ------------------------------------ dump() : [] inspect(): [[1, 2, 3, 4]] ------------------------------------ dump() : [] inspect(): [[1, 2, 3, 4, [5, 6], 7]] ------------------------------------ dump() : [] inspect(): [[:]] ------------------------------------ dump() : [] inspect(): [['name':'abc', 'age':20, 'greet':t_collections$_run_closure1@1a16ff7a]] hello, bob. ------------------------------------ dump() : [] inspect(): [{name=Jon, greet=t_collections$_run_closure2@38dddee8}] Good morning, Jon ||< #navi_footer|Groovy|