OSC TokyoでのRubyのお話
オープンソースカンファレンス2008 Tokyoに行ってきました。ただ、体調が芳しくなかった(花粉で頭痛が)ので、Rubyのだけ聴いて帰ってしまいました。
以下、メモ。
高橋課長からの質問"Ruby1.9使ったことある人はいますか?" -> 4,5人程度(会場は120はいるみたい)
1.9ぐらいから、バージョン番号の付け方が変わった
- 以前は、X.Y.ZでYが奇数なら開発版、偶数なら安定版
- 現在は、X.Y.ZでZが0以上なら安定版
1.9からRubyのVMがYARVが採用された。YARVは、Ruby専用のVMだが、JRubyというJVMをVMとする実装もある。速度的には、JRubyも十分速いので、専用VMだからはやいというわけではないみたい。でも、最近YARVのほうがJRubyを圧倒したとかいう話題もある。
M17Nが採用された。M17Nというのは、複数の文字コードを1つのプログラム中で扱えるようになる。
文字列Objがエンコーディング情報をもつようになる。 => str.encoding
str.size,str.lengthが、ちゃんと文字の長さを返す。今までは、バイト数。また、インデックスでのアクセスもちゃんと文字単位。
?リテラルの動きも変更された。
# 1.8 系 p ?a #=> 97 (アスキーコード) # 1.9 系 p ?a #=> "a"
プログラムの先頭に
# -*- coding : EUC-JP -*-
のように、"coding 文字コード"と書かれていれば、その文字コードでプログラムを認識する。
講演終了間際の質疑応答で、id:moroさんより、vim形式の記述でも問題ないのですかとの質問が出る。"coding 文字コード"の形なら、認識されるはずなので問題ないだろうとのこと。ただし、ファイルの先頭にねと。
ふと思ったんだけど、基本unix使ってる僕としては、先頭行はshebang書くんだけど問題ないんだろうか?
File.openのときにも、ファイルのエンコーディング情報を添付できる。
File.open("hoge.txt","r:euc-jp")
ここで、高橋会長から聴いている人たちに質問。"どうすれば、Ruby1.9を使う人がふえますか?"
"さっとwindowsで使えるパッケージが欲しい" -> "1.9.0に限れば、artonさんがmsi形式のインストーラーを作られている"
"railsがうごけば" -> "railsは、Active::Supportで、バッティングされているメソッドがあるのだが、いくつかは修正されている。が、すぐには難しい"
"すぐに1.8にもどせるような仮想パッケージがあれば使いたい"
"ライブラリ周りが動けば" -> "Hpricotは、だいたい動くんですが、たまに落ちる"
Hpricotが"エイチプリコット"って、発音されていた。"アプリコット"派の僕としては、修正すべきか。
本当は2/29に1.9.0-1がでるという話があったのですが、どうなんたんでしょうね。まつもとさんから連絡がこないんですが... => 帰宅したらアナウンスでてたRuby 1.9.0-1 スナップショット公開
M17Nまわりの話がきけたので、ここら辺よくわかっていない僕には、結構よかったです。