1. ホーム
  2. ruby

[解決済み] Rubyのincludeとrequireの違いは何ですか?

2022-03-20 10:56:51

質問

私の質問は、"に似ています。 Rubyのincludeとextendの違いは何ですか? "です。

とはどう違うのでしょうか? requireinclude をRubyで作成することはできますか? あるモジュールのメソッドをクラスで使いたいだけなら、次のようにします。 require それとも include

どのように解決するのですか?

<ブロッククオート

とはどう違うのですか? Ruby の "include" と "require" を教えてください。

回答

includeメソッドとrequireメソッドは は、全く異なるものです。

requireメソッドは、includeメソッドと同じことをします。 他のほとんどのプログラミングで 別のファイルを実行することです。また 過去に何を要求したかを追跡する 同じファイルを要求することはありません。 を2回実行します。を使わずに別のファイルを実行するには この追加された機能を利用するには loadメソッドです。

include メソッドは、すべての メソッドを別のモジュールから取得し は、現在のモジュールにそれらを含めます。 これは言語レベルのことであり のようなファイルレベルのものではなく を要求します。インクルードメソッドは でクラスを拡張する主な方法は、次のとおりです。 他のモジュール(通常 ミックスイン)。例えば、あなたのクラスが はメソッド "each"を定義している場合、次のようになります。 ミキシン・モジュールEnumerableをインクルードする を作成し、コレクションとして動作させることができます。これは は、include動詞のため混乱することがあります。 は、他の言語ではまったく異なる使い方をします。 の言語があります。

ソース

つまり、拡張やミックスインではなく、単にモジュールを使いたいだけなら require .

不思議なことに、Rubyの require は、C言語の include 一方、Rubyの include は、C言語の include .