«前の日記(2006年06月14日) 最新 次の日記(2006年06月16日)» 編集

Matzにっき


2006年06月15日 [長年日記]

_ [Ruby] Pickaxe監修

ピッケル本ことProgramming Ruby第二版、日本語訳のチェックを行う。 もう出版が近いというのに、まだまだ修正箇所が多い。

が、おかげで原著の間違いなども見つけており、それだけ質の高いものになる ...のだといいなあ。

7月上旬から中旬が発売予定。二分冊。

表紙はRubyKaigi2006のスライドで見ることができる(10枚目)

_ [Ruby]Unicode対応

ruby-talkでふたたびRubyのUnicode対応、およびM17Nについて話し合われている。

しかし、今回はAustin Zieglerをはじめとして、 私のアイディアに理解を示してくれる英語圏の人が増えたので、 以前よりもずいぶんと楽。

それと、こうしてアイディアを文章にしてみると まだM17Nで具体的に決まってないところがあちこち残っていることが 明らかになる。まあ、前から気づいてたけど。

特にコード変換まわりが鬼門だ。できるだけコード変換をしたくない、 というのが基本的な設計原理だが、とはいえやらなくてすむものでもない。

_ [Ruby] ":"とblock by indentation

ずいぶん以前からifやらwhileやらにdoやthenの代わりに":"をつける、 というPython風味の文法をこっそり入れていたのだが、 今日、とうとう外すことにした。

if foo % 2 == 0:
  puts "even"
else
  puts "odd"
end

elseの後ろの括弧は許してなかった。誰も使っていなかったと思うけど。

しかし、Haskellで得られた知見によれば、 「対応する括弧を用いる文法との相互変換を許すなら、インデントによるグループ化は有効」である。

ということは、「コードブロックの先頭が":"であれば、 そのブロックはインデントでグループ化する」という文法を導入するのは ありえる選択肢かもしれない。

if foo % 2 == 0:
  puts "odd"
else:
  puts 

[1,2,3].each do: |x|
   puts x

なんとPython風味。 レイアウトを使うパーサーを書くのが面倒なので、 単なるアイディアだけ。

これもエイプリルフールねたレベルだなあ。


«前の日記(2006年06月14日) 最新 次の日記(2006年06月16日)» 編集