タグ

Japanと rubyに関するkana321のブックマーク (2)

  • 第6回 Ruby 1.9に起きた変化 - O'Reilly Japan Community Blog

    書籍『プログラミング言語Ruby』を章ごとに語り終え、ここからはリリースされたばかりのRuby 1.9の変更点についてのお話が始まります。 Ruby 1.8とRuby 1.9は非互換です。その中には大きなものから小さなものまであって、その中でも重要なのは「ブロックパラメータ」「文字列」「M17N」です。 ブロックパラメータ Rubyにはブロックというものがあります。縦棒(|)の中に変数があって、(直前に書かれたイテレータの各要素が)渡されパラメータとして代入される。これはもともとループの抽象化として誕生したので、棒の間はループの各要素が代入される場所だったんです。(ブロックパラメータは)任意の変数、つまりグローバル変数でも、ローカル変数でも、配列でも大丈夫。何でも置けたんです。 ところが1.9からはちょっと変わっていて、グローバル変数を置こうとするともうダメ。これまではオブジェクトの属性に

    kana321
    kana321 2014/11/09
  • 第7回 「M17N」が開く可能性 - O'Reilly Japan Community Blog

    Ruby 1.9で注目の新機構、M17N(多言語化)を、まつもとさん、卜部さんのお二方が語ります。M17Nとは何か、どんなメリットがあるのか、M17Nが実装されたことで開かれる可能性とは? Ruby 1.9では文字列の抽象度が上がった Ruby 1.8ではすべてがバイト列だったんです。で、Ruby 1.9ではコードポイント1と対になっている文字を表現するようになりました。ちょっと抽象度があがりました。 ですから、これからは"ABCあいう"という文字列の0番目を取ると「A」という文字を返します。で、3文字目から1文字を取ると、変なバイトではなくて「あ」という文字を返します。 ― 3番目というのはゼロから数えて3番目のことですね。 ゼロから...皆さん分かりますよね。数字はゼロから数えますよね。 エンコーディングが使えるようになったので、マルチバイト文字を使う時にはエンコーディングプラグマ、僕

  • 1