ミックスインとモジュール
従来の継承を使わずに、モジュールとミックスインでクラスの機能を拡張します
「ミックスインとモジュール」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全4レッスンが含まれています。
モジュールによるコードの共有
ミックスインとモジュール
モジュールを使用すると、従来の継承を使わずにコードを整理して再利用できます。
ミックスインを使用すると、直接関係のない複数のクラスで振る舞いを共有できます。
このレッスンでは、Rubyでモジュールとミックスインを使用する方法を学びます。

モジュールの定義
モジュールの定義
モジュールはmoduleキーワードを使用して定義し、インスタンス化することはできません。
module Greetings
def say_hello
puts 'Hello!'
end
endモジュールのインクルード
モジュールのインクルード
includeを使用すると、モジュールのメソッドをインスタンスメソッドとして追加できます。
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
include Greetings
end
person1 = Person.new
person1.say_helloextendの使用
extendの使用
extendは、モジュールのメソッドをクラスメソッドとして追加します。
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
extend Greetings
end
Person.say_hello複数のモジュールの使用
複数のモジュールの使用
クラスには、異なる機能のために複数のモジュールをインクルードできます。
module Walkable
def walk
puts 'Walking...'
end
end
module Talkable
def talk
puts 'Talking...'
end
end
class Person
include Walkable
include Talkable
end
person1 = Person.new
person1.walk
person1.talkモジュールでの定数の使用
モジュールでの定数の使用
モジュールには定数を格納でき、::を使用してアクセスできます。
module MathOperations
PI = 3.14
end
puts MathOperations::PIモジュールでのメソッドのカプセル化
モジュールでのメソッドのカプセル化
モジュールでは、異なるクラス間で使用できるヘルパーメソッドを定義できます。
module Formatter
def format_text(text)
text.upcase
end
end
class Document
include Formatter
end
doc = Document.new
puts doc.format_text('hello')モジュールでのselfの使用
モジュールでのselfの使用
モジュール内のメソッドでは、selfを使用して直接アクセスできるように定義できます。
module Helper
def self.greet
puts 'Hello from a module!'
end
end
Helper.greetおめでとうございます
おめでとうございます
Rubyでミックスインとモジュールを使用する方法を学びました。
次は、ファイルと入出力操作について学びます。

よくある質問
「ミックスインとモジュール」レッスンは無料ですか?
はい。「ミックスインとモジュール」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ruby Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ruby Academyコースには全4レッスンが含まれています。
「ミックスインとモジュール」で何を学びますか?
従来の継承を使わずに、モジュールとミックスインでクラスの機能を拡張します ブラウザで直接実行するハンズオンコードでRuby Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ruby Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのRuby Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「ミックスインとモジュール」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このRuby Academyレッスンでコードを書いて実行できますか?
はい。すべてのRuby Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- クラスとオブジェクト
- インスタンス変数とメソッド
- 継承とポリモーフィズム
- ミックスインとモジュール