この広告は、90日以上更新していないブログに表示しています。
http://d.hatena.ne.jp/m-hiyama/20060317/1142559097
に共感を覚えつつ。Ruby って Kernel#String とか定義してあるのね。 require 'complex' すると Kernel#Complex とかも組み込まれる、と。まぁ必要なクラスだけ定義するのが正解なんだろうけど、これって別に言語レベルでシンタックスシュガーにしてくれてもいいレベルな気もするなーと思った。あとついでにライブラリで実現できるようなものを作ってみた。
def method_missing(name, *args) if (name.to_s =~ /^[A-Z]/) Kernel.const_get(name).send(:new, *args) else super(*args) endendif __FILE__ == $0 p Time.new p Time() p File('ctor.rb', 'r')end使わなさそう。
あとid:sumim さんのコメント (http://d.hatena.ne.jp/m-hiyama/20060317/1142559097#c1142565271) を見てC++ も operator , のオーバーロードでキテることやってたよなとか。
http://www.codeproject.com/vcpp/stl/PGIL.asp
map<string,int> m;set_map( m ) += "fish", 1, string( "horse" ), 2;set_map( m ) = "cow", 1;
すてき。
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。