見つかった場合は、括弧内に見つかった値を戻すルックアップリストが必要です。私はenumを使いたくない。Groovyアイテムのマップ値を取得し、見つかった場合はカッコで返します。
このよう:
def grt = { ['mail': 'Scanned Paper', 'digital': 'Digital Things', 'barcode': 'Some Barcode Matter'].get(it) }
def s = grt('digital') ? "($grt('digital')" : ''
println "Report $s"
しかし、(それ)GETの端に集まるのいくつかの種類があるように、私はそれを単純にやると「DEF s」の行を排除したいし、それがすべてであります1行私はエルビスを行うことができますが、
は私ものようなメタプログラミングを行うことができます)(入れていません:
Object.metaClass.prettyString = { delegate ? "($delegate)" : '' }
してからちょうどしなければならない
println "Report $grt('digital').prettyString()"
がなければなりませんある種類の
.get(it).collect { it ? "($it)" : '' }
しかし、これは機能しません。ここで
完璧な、それが私が探していたものです。 'with'メソッドはまさに答えです。 Btw私はもともと[それ]を使用しましたが、他の人が読みやすいので、.get(it)に変更しました。 –