_ 花粉
が、飛んでいるらしい。今年は鼻炎の症状はまったくないが、
花粉にさらされると、喉がイガラっぽくなるのと、頭が重くなる。
〆切やらなんやらが重なっている時に思考力が下がるのは大変困る。
_ [Ruby] 続、Objectの上
なんとたくさんのツッコミがあったことか。今までで最大ではないだろうか(そうでもないかな)。
いただいた名前の候補は検討材料としたい。
- 「空っぽ」系
-
Void, Blank, Emptyなど。
しかし、Objectのスーパークラスであることを考えるとこれら「空っぽ」系は採用しがたい。
Objectの継承ツリーとは独立に導入するならあり得るかもしれないが、
それでも、たとえばDelagatorは「空っぽ」のサブクラスというのは奇妙に感じる。
EiffelではVoidはスーパークラスではなく、すべてのクラスのサブクラスとして定義してあるのが興味深い。
- 自己言及系
-
RubyとかMatzなど。少なくとも私が管理している範囲内ではRubyに自己言及的な名前を導入したくない。
Rubyインタプリタ自身を操作するクラス/メソッドにならともかく「すべてのRubyクラスの頂点」である
という理由でRubyという名前を使いたくない。ましてやMatzなど。
- 比喩系
-
Atom, Idea, Heart, Ghost, Shellなど。
「〜のようなものだから」という理由は誤解を生みやすいので安易に導入できない。
ただし広く使われているので説明されれば納得できるようなものは除く(たとえばネットワークIOにおけるSocketとか)。
今回はそれに該当するものは、Rootくらいか。
ケチつけるだけで申し訳ない。
まだ、考えがまとまっていない。
比喩系として、核が無いから原核細胞と思ったのですが判り難い。また、RudimentaryObject は長すぎるようなので、ProtoObject なぞいかがでしょう。
Orz: Object reflection zone
Orzが採用されたら
祭り発生 → Matz神認定 → 2chがRubyで書きなおされる
→ Rubyのシェア急上昇!でバンザイ!
と思いきや、
個人情報保護法により2ch閉鎖 → あおりをくってRubyは反社会的言語というイメージ広まる → Matz地下潜行...orz
あまりに多かったんでみてないんですが、ElementalObjectとかBasicObjectとかは挙がってないのかな?
いっそのこと記号で。。。
Baseとかぢゃダメなんでしょうか。
Free Trackback http://rebecca.ac/cgi-bin/mt/free-tb.cgiでトラックバックしようとしたら以下のエラーが出ました。
(File does not exist: undefined method `each_section' for nil:NilClass (NoMethodError) (plugin/category.rb):582:in `instance_eval' (plugin/category.rb):578:in `call' /home/tdiary/core/tdiary.rb:715:in `update_proc' /home/tdiary/core/tdiary.rb:714:in `each' /home/tdiary/core/tdiary.rb:714:in `update_proc' /home/tdiary/core/tdiary.rb:1788:in `eval_rhtml' /home/tdiary/core/tdiary.rb:1788:in `instance_eval' /home/tdiary/core/tdiary.rb:1788:in `instance_eval' /home/tdiary/core/tdiary.rb:1788:in `eval_rhtml' /home/tdiary/core/tb.rb:45 /home/www.rubyist.net/document-root/~matz/tb.rb:3:in `load' /home/www.rubyist.net/document-root/~matz/tb.rb:3 at /home/sites/milano/cgi-bin/mt/free-tb.cgi line 73 )
単純に Object の同義語で Thing ではダメですか。
Objectって源なので、そもそもここでKernelをincludeするより、Objectの下でKernelをincludeするようなクラスを考えたほうが、名前的にもすっきりするような気がします。既存の系に影響でかそうですが。