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"