ratio - rational - irrational

« はまちちゃん | Main | Re: ActiveRecord を SQLObject っぽく »

2006年06月23日

予約語考: 或るRuby厨の意見

Pythonは予約語が少ないらしい

Rubyは実はメソッド名には予約語を使えるので、APIを設計するという意味では予約されててもあまり困らない。

class C
  def end
    :end
  end
end

c = C.new
p c.end        #=> :end

p RUBY_VERSION #=> 1.8.4

ただし、文脈によってはうまくparseしてくれないので、Module#define_methodで代用するテクニックが必要だったり。メソッドを使う側はいいとして、書く側は面倒かも。それから、呼ぶときもレシーバを明示的に書かないとparse errorになる場合もあるけど。

でも、本当に身内で使うようなメソッド、privateなメソッドは、予約語を避けて命名してもあまり困らないしなー。そして、publicなメソッドはどのみちレシーバを指定するわけだし。

それにしてもさすがにメソッドをifとかelseとか命名する邪悪なコードを書くのはDHHだけで十分だ。

それよりJavaはgotoをどうするつもりだ。



トラックバック

この記事のトラックバックpingのURL:
http://idm.s9.xrea.com/blog/mt-tb.cgi/468

コメント

新しくコメントをつける

よくわからない理由により、コメントが即座には反映されないかもしれませんか゛、ボタンを押して元の画面に戻ってきたならたぶん正しく送信されています。




blog操作

検索


カテゴリー

このブログについて

あわせて読みたい

follow yugui at http://twitter.com
© 2006 Yugui

Powered by Movable Type 3.2-ja-2