モージュール
モジュールとは
機能をまとめたものです。
モジュールで定義した関数を使用したい場合は、module_function
を使います。
モジュール名::関数名
またはモジュール名.関数名
で呼び出すことができます。
module Hoge
def hoge
"hogehoge"
end
module_function :hoge
end
Hoge.hoge #=> "hogehoge"
Hoge::hoge #=> "hogehoge"
名前空間
同じメソッド名でもモジュールを使うことで名前を区別できます。
module Hoge
def comment
"hogehoge"
end
module_function :comment
end
module Foo
def comment
"fooooooo"
end
module_function :comment
end
Hoge.comment #=> "hogehoge"
Foo.comment #=> "fooooooo"
モジュールのインクルード
モジュールをインクルードすると、関数名だけで呼び出すことができます。
module Hoge
def hello
"hogehoge"
end
module_function :hello
end
include Hoge
hello #=> "hogehoge"
定数の参照
定数はモジュール名::定数名
で参照できます。
module Hoge
A = "hogehoge"
end
Hoge::A #=> "hogehoge"