2008年 01月 20日

Ruby の名前空間

orz... Fx3 + Firebug でクラッシュしてから edit ページひらいて送信したら消えてしまった……変なタイミングで入力の復帰が行なわれたようだ……できるかぎり復元してみる

JS かいたり Scheme かいたりしたあと Ruby をかこうとするとなんかハマる。メソッドの名前と変数の名前が分離しているからなんだけど、たまにきもちわるい感じがする (スイッチがきりかわるとそうでもないんだけど……)。

class Foo
end

def Foo
end

ができるということはいいのだけど (Hpricot とか Pathname がやってる)、おなじようなノリで

class Foo
    module Bar
    end
end

def Foo::bar
end

みたいなのはもちろんできない。やるとしたら

module Foo
	module Bar
	end


	def Bar
		:a
	end

	def self.Bar
		:b
	end
end

p Foo.Bar    #=> :b
p Foo::Bar() #=> :b

include Foo
p Bar        #=> Foo::Bar
p Bar()      #=> :a

みたいになるけど、(わざとやっているとはいえ) きもい><