java

Mapの初期化

JRubyのソースコードを読んでたらみつけた無名クラスを使った初期化方法。 Map<String, Integer> map = new HashMap<String, Integer>(); map.put("one", 1); が次のように書かれてた。 Map<String, Integer> map = new HashMap<String, Integer>() {{ put("one", 1); }}; 名前をつけずに初期化できるんで、スクリプト言語みたいに</string,></string,></string,></string,>…

Java for Mac OS X 10.5

これでやっとMacも1.6が使えるようになったけど。64bit Intel Mac じゃないと動かへん。http://headius.blogspot.com/2008/04/apple-chosepoorly.html

jformat

Kernel#formatぽいものを java.lang.String.formatで実装。 たまに便利。 def jformat(fmt, *args) java.lang.String.format(fmt, args.to_java(:object)) end % jirb -r java irb(main):001:0> def jformat(fmt, *args) irb(main):002:1> java.lang.String.…

1秒おきにマウスボタンをクリック

何に使うかはさておき。JRubyからJavaライブラリを使って実現します。プラットフォームに依存しないところがいいです。 Javaには、GUIのテストやらを支援するjava.awt.Robotというライブラリがあります。 これをJRubyから使えば、かったるい作業をお手軽に自…

Sun Tech Days in Tokyo

11/8, 11/9と Sun Tech Days in Tokyo に参加しました。 入場は無料という結構太っ腹なイベントでした。ただし、内容はなんだかイマイチだったな。 エバンジェリストが話しまくるという感じで有名人がほとんど来てなかったような。 技術的にコアな内容はほと…

Java Closures: first prototype を見て2

http://gafter.blogspot.com/2007/10/java-closures-first-prototype.html昨日の続き カリー化 // This work is Copyright(c) 2007 Neal M Gafter. All rights reserved. /* * @test /nodynamiccopyright/ * @summary Test capturing variables from closure…

Java Closures: first prototype を見て1

http://gafter.blogspot.com/2007/10/java-closures-first-prototype.htmlなんか出てたんでとりあえず実験。JDK6.0以上必須だそうです。 Neal Gafterのページで「download an executable version of the prototype here」から closures.ztarをダウンロード。…

Javaの型推論

Java のにもちょっとした型推論があるんだけどいまいち。どこまでやってくれるんだ。言語仕様第3版読めばわかるのかな。 2回ハマった。 public class Foo { public static void println(String str) { System.out.println(str); } public static void main(S…