概要
このブログではRubyでモジュールが何か、どう使うかについて説明します。
モジュール
モジュール(Module)は色んな処理を集めたもので、Module
文を使って定義します。
module ModuleName
...
end
モジュールは大文字で始めます。
ネームスペース
ネームスペース(Namespace)は同じ名前ですが意味が違う空間名をつけて判別する機能を言います。Rubyではモジュールを使ってメソッドや定数、クラスの名前がコンフリクトされないようにすることができます。
モジュールが提供する定数やメソッドは下記のように参照することができます。
Math::PI
Math.sqrt(2)
モジュール中で定数は::
で参照して、関数の場合は.
を使って参照します。同じモジュールの定数と関数をたくさん参照する場合は下記のようにinclude
を使って参照することもできます。
include Math
PI
sqrt(2)
モジュール定義
上で見たように、.
を使ってモジュールの関数を使うことができます。しかし、単純にモジュールへ関数を定義することで上のように使えません。
モジュール中へ定義した関数を.
を使って外部から使えるようにするためにはmodule_function
を使う必要があります。
module Greeting
def hello
puts "Hello"
end
module_function :hello
end
Gretting.hello
Mix-in
クラス定義中ではincludeを使ってモジュールを呼び出すことをMinx-in
と言います。
module Greeting
def hello
puts "Hello"
end
end
class World
include Greeting
end
world = World.new
world.hello
完了
これでRubyでモジュールを定義して使う方法について見てみました。今後、色んな処理を1つでまとめる必要がある場合、モジュールを使ってみてください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
今見てるブログを作成た
興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。