kiyoka.2009_07_25 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2009_07
555555555555555555555455555555555
5

[Ruby] Ruby 1.8と Ruby 1.9の違い

5

Nendoの文字リテラルの扱いをどうしようかとRubyを調べてみると、Ruby 1.8とRuby 1.9に違いがあることを知った。

5

意外と大きな仕様変更なのではないかと思う。

5
 <Think IT> 先取り!Ruby 1.9.1 (2/3)EXT
5
   この変更に伴い、いくつか文字列まわりに重要な変更が発生します。
5
 例えば、文字の扱いがいろいろと変わります。従来、文字列に対して「
5
 String#[n]」とすると、バイト列のn番目の数値が返ってきました。つま
5
 り、"Hello"[0]は72を返す、といった具合です。しかし、今後文字列はエ
5
 ンコード情報を保持しますので、"Hello"[0]は"H"という1文字を返すよう
5
 になります。
5

 

5

Ruby 1.8では数値を返す。

5
$irb
5
>> ?a
5
?a
5
=> 97
5
>> ?a.class
5
?a.class
5
=> Fixnum
5

 

5

Ruby 1.9では文字列1文字を返す。

4
$ irb
5
irb(main):001:0> ?a
5
?a
5
=> "a"
5
irb(main):002:0> ?a.class
5
?a.class
5
=> String
5

 

5

Nendoの世界では、文字リテラルというのは無くして、1文字の文字列で代用出来るんじゃないかと思っている。

5

Nendoの処理系自体は、Ruby 1.8とRuby 1.9で動くようにしたいので、Nendoのユーザはこの差は意識しなくても良いはずだ。

5

 

5

...comment disabled...