Japanese Logical Branching Add comment to Wiki View in Wiki Edit Wiki page Printable Version



GroovyはJavaの通常のif-else構文をサポートします。





また、Groovyは三項演算子もサポートします。



switch文



Groovyのswitch文はJavaと後方互換がありますので、複数の条件に一致するような継続するタイプのcase文には同じコードを使うことができます。

1つ違うのはGroovyはどんな種類のスイッチ値でも扱うことができ、異なる種類のマッチングを実行できることです。





switchは次のような比較をサポートします。

  • Classのcase値は、switch値がinstanceofなクラスであれば一致
  • 正規表現のcase値は、switch値が正規表現に一致すれば一致
  • Collectionのcase値は、switchがCollectionに含まれれば一致
  • 上のどれにもcase値が含まれなければcase値とswitch値がequalsであれば一致

switchはどのように機能しているのか



case文は isCase(switchValue) メソッドを使ってcase値と 一致 するかを評価します。それはデフォルトでは equals(switch値) を呼び出します。Classや正規表現などのさまざまなタイプはそれをオーバーロードしているのです。

ですので、一致を判定するためのをクラスを独自で作ることができ、そのためには独自の一致判定方法を提供するために isCase(switch値) を追加すればよいのです。

 

Search

Results of your search request can come from various sources: the Groovy website itself, the JIRA issues, the API documentation, as well as a few other interesting Groovy-related blogs.

  By  -  pages  -  views  - last modified