「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>