LoginSignup
1
1

More than 5 years have passed since last update.

groovyならrubyのeach風に配列を処理できる

Last updated at Posted at 2015-01-27

「rubyが好きだけどandroidアプリを書くにはググって出てくる先行事例が少ない…」と悩んでいてJVM言語でgroovyというのがあったな?と思いだして試してみた。

最近ではAndroidアプリの開発でビルドに使うgradleもこの言語で実装されている。

windowsでのインストールはchocolatelyが手軽。現時点ではgroovy v2.3.6が入る。macならhomebrewがおすすめ。
なお、筆者は横着してcmder上のcmdで実行したら見事にエラーだったので、素直に管理者権限でcmdを立ち上げて実行すること。

choco install groovy

groovyshを実行する際に下記のような感じのエラーが出たら管理者権限で立ち上げたcmd上でgroovyshを実行しておくと出なくなる。
参考: http://dechnostick.hatenablog.com/entry/2015/01/25/015715

WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

rubyでのirbに当たるのがgroovysh。コマンドでブラウザでドキュメントを開いたりもできる。

groovy:000> [1, "two", 3].each{ println it }
1
two
3
===> [1, two, 3]
groovy:000> 1.toInteger()
===> 1

groovy:000> 1.toInteger // 引数なしメソッドはカッコ必須
ERROR groovy.lang.MissingPropertyException:
No such property: toInteger  for class: java.lang.Integer

groovy:000> "hoge,piyo".split "," // 引数ありの場合はカッコを省略できる
===> [hoge, piyo]
groovy:000> "hoge,piyo".split(",") // カッコあり
===> [hoge, piyo]

groovy:000> System.out.println("hello groovy!") //printlnはjavaのsystem.out.println
hello groovy!
===> null

groovy:000> Math.class
===> class java.lang.Math
groovy:000> :doc java.lang.Math
http://docs.oracle.com/javase/1.7.0/docs/api/java/lang/Math.html
groovy:000>
1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1