Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2006-06-15)
[go: Go Back, main page]

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

Matzにっき

<< 2006/06/ 1 1. Bitwise Magazine :: Ruby programming tutorial
2. Bitwise Magazine :: Ruby Programming
3. mandatory arguments after splat
2 1. 平成17年度情報化月間 第26回 U20プログラミングコンテスト
2. ZDNet.com オープンソースブログ:成功するオープンソースビジネスモデル7選
3. Ruby のブロックってオブジェクトじゃないよね。これって“驚き最小の法則”に反しない?
3 1. SANYO もちつきベーカリー
2. 引っ越し
3. バプテスマ会
4. 『ふつうのHaskellプログラミング
4 1. 第一安息日
5 1. マルチメディア通信と分散処理研究会 第127回 研究報告会
2. 東大での話
6 1. ベンチャーファンド
7 1. カバン
2. 地方銀行と海外通貨
3. 寄付
8 1. Alan Kayといっしょ
2. 秋葉原
3. オープンソースマガジン8月号
9 1. Interop
2. オープンソースマガジン8月号
3. 日本Rubyカンファレンス前夜祭
10 1. 巨大パッチ
2. 日本Rubyカンファレンス、発表、パネル
3. 日経Linux8月号
11 1. ファイアサイド
12 1. 原稿の苦しみ
2. スライド準備
3. 「趣味の言語からビジネスの言語へ」---日本初のRuby大規模イベント開催
13 1. 東大講演
2. 羽田まで
3. 「補償金もDRMも必要ない」--音楽家 平沢進氏の提言
14 1. 歯医者
2. 原稿完成
3. 「Linuxにもっと日本からのコードを増やすには?」
15 1. Pickaxe監修
2. Unicode対応
3. ":"とblock by indentation
16 1. 「地方自治体に金はない、残されているのは時間だけ」--長崎県
2. ECナビ、自社の研究組織「ECナビラボ」で、学生のインターンシッププログラムを開始
3. 「Google独占にはさせない」--国産検索エンジン開発へ、産学官が一致団結
17 1. 片づけ
2. タレントショー
3. ミュシャ
4. Little Book of Ruby
18 1. 日曜
2. 米子
3. 父の日
19 1. デバッグ
20 1. HT
2. エラトステネス
21 1. Rails講習会定員一杯
2. 「美しいコードを書けるからRubyを選んだ」---Ruby on Rails作者 David Heinemeier Hansson氏
3. Gardens Point Ruby.NET Compiler
22 1. Unicode
2. auto conversion
23 1. 商談
2. そば屋
3. 夫婦でペアプロ
4. RubyConf presentaion
24 1. 親子活動
2. Mixinと多重継承
3. 1.8.5 preview1
25 1. 日曜日
2. 異文化交流
3. ステーク連絡
26 1. Emacs過剰適応
2. スライド作成
27 1. Web 2.0の挑戦者:ニッチ商品も見つかる?リアルメディアの交換サイトlendmonkey - CNET Japan
28 1. 生まれた時からプログラマ☆興味と感性で世界を驚かす/Tech総研
2. Judy Arrays
29 1. 「オープンソースはボランティアではない」--サンのオープンソース責任者が講演 - CNET Japan
2. わからないこと
30 1. キルギス講演
>>
迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


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風味。 レイアウトを使うパーサーを書くのが面倒なので、 単なるアイディアだけ。

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

本日のツッコミ(全5件) [ツッコミを入れる]
_ 一見さん (2006-06-22 23:42)

やらなくて”済む”、ですよね。それはともかくユニコード系の話は複雑ですね。うまい解決策があるといいのですが。

_ まつもと (2006-06-22 23:54)

ご指摘、ありがとうございます。直しておきます。>誤字
Unicodeはお化けのように複雑ですし、文字コード変換はそれと同じくらい大変です。もう泣きそう。

_ ブレス嫌い (2006-06-23 09:15)

 ブロックの先頭が ':' の場合、一行で記述するのに使えると嬉しい気がします。

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

これは、三項演算子の方がいいかも(^^; 逆に三項演算子がお嫌いな方にはお勧め?

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

これは、個人的にはかなり嬉しいです。

_ まつもと (2006-06-23 09:45)

「endなしの1行」の方がうれしいことは多いかもしれませんね。

_ 通りすがり (2006-06-25 11:55)

実は end 書かなくとも済み、インデントでの構造が明確と言う理由で python を使うことがありました。標準クラスや 添付ライブラリの作り、日本語処理のやりやすさはRuby の方が良かったと思いました。それでも 2次元レイアウトの見渡しの良さの方を取る形になってしまったのでした。
ああっ あの時は Ruby も 二次元レイアウトに対応していればと、思うばかりでした。

お名前:
E-mail:
コメント:

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

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.