私の質問は「Ruby における include と extend の違いは何ですか?「」。
require
Ruby のとの違いは何ですかinclude
? クラス内のモジュールのメソッドだけを使用したい場合は、require
it とinclude
it のどちらを使用すればよいですか?
ベストアンサー1
Ruby の「include」と「require」の違いは何ですか?
答え:
include メソッドと require メソッドは、まったく異なることを行います。
require メソッドは、他のほとんどのプログラミング言語の include と同じこと、つまり別のファイルを実行します。また、過去に要求されたものを追跡し、同じファイルを 2 回要求することはありません。この追加機能なしで別のファイルを実行するには、load メソッドを使用します。
include メソッドは、別のモジュールからすべてのメソッドを取得し、現在のモジュールに組み込みます。これは、require のようなファイル レベルのものではなく、言語レベルのものです。include メソッドは、他のモジュール (通常はミックスインと呼ばれます) を使用してクラスを「拡張」する主な方法です。たとえば、クラスでメソッド "each" を定義している場合、ミックスイン モジュール Enumerable を組み込むことができ、コレクションとして動作させることができます。include 動詞は他の言語ではまったく異なる方法で使用されているため、混乱を招く可能性があります。
したがって、モジュールを拡張したりミックスインしたりするのではなく、単にモジュールを使用したい場合は、 を使用する必要がありますrequire
。
奇妙なことに、Ruby の はrequire
C の に類似していますinclude
が、Ruby の はinclude
C の とほとんど似ていませんinclude
。