投稿者 : 藤沢瞭介(Ryosuke Hujisawa) りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

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"
 

関連記事