Ruby 1.9.0

昨日の夜中に1.9.0が出たのに気づいたけど、Windows版が使いたかったのでまだ保留。

今日になってmswin版のバイナリもダウンロードできることに気づいて使ってみた。

NetBeans上でKaibashiraのテストを動かそうとしたら、まずインストールようとしたライブラリが変なところに配置されたので正しいところにコピー。
次にxsdが標準添付されてなかった。今日のところはここまで。


RDFのQNameをxsd:QNameと互換性を持たせたかったから継承してたんだけど、Rubyじゃクラスを使う側にとって型が同じであることはどうでも良くて、インターフェース(あるいはシグネチャ、要はメソッド名と引き数)が同じであることだけが重要だと最近分かってきたので、使いそうなメソッドだけ似せておいてあとは独自の実装にしようと思う。
IRIもそれでいいな。


1.9からキーがシンボルのハッシュのリテラル

  { key: value }

のように書けるようになったので、XMLのQNameを

  { xhtml:body }
  { xhtml:h1 }

みたいに書けるんだな。まぁ、bodyやh1が変数じゃないとだめなんだけど。

要素名が大文字でもいいっていうなら定数が使える

  BODY = 'body'
  H1 = 'H1'
  { html:BODY }
  { html:H1 }

でも誰がXHTMLじゃなかった時代の大文字の要素名にネームスペースなんか付ける?

でもその変数さえ定義されてるならハッシュが順序をもつようになったことを利用してXMLの構造を表現できそうと思ったけどキーが同じだからだめか。

  body = 'head'
  h1 = 'p'
  { xhtml:body }
  { xhtml:h1 }

こんな意地悪もできる。

あとこんなのも書けるぞ。

  { http:// }
  # { :http => // } と同じ

何に使うんだか知らないけど。


あぁ、もうこんな時間だ。

  { am01:23 }