
rubyのModule体験01 – 変数の呼び出し
rubyにはclassと似た機能でModuleという機能があります。
これは、classと似てるのですが、
継承などができないようです。
では、早速使ってみましょう
irb(main):013:0> module TestModule
irb(main):014:1> hoge = "hello world"
irb(main):015:1> end
irb(main):019:0> TestModule::hoge
Traceback (most recent call last):
2: from /Users/ryosuke-hujisawa/.rbenv/versions/2.5.3/bin/irb:11:in `<main>'
1: from (irb):19
NoMethodError (undefined method `hoge' for TestModule:Module)
おっと、ここで、hogeというメソッドは定義されてないと怒られてしまいました。
どうやらrubyでは最初が小文字だと、外部に公開されないインスタンスメソッドになるらしいですね。
irb(main):044:0> module TestModule
irb(main):045:1> Hoge = "hello world"
irb(main):046:1> end
=> "hello world"
irb(main):047:0> TestModule::Hoge
=> "hello world"