1

Ruby プロジェクトのソース コードを読んでいます。a.rb という名前のファイルがある場合。そして、誰かがそれを次のように必要としているのを見ます:

require 'a'

しかし、誰かがします:

require 'a.rb'

これらは同じですか?

4

1 に答える 1

4

require 'a.rb'のみを検索しa.rb、、、 ...require 'a'も検索します。a.rba.so


Kernel#requireドキュメントによると:

ファイル名の拡張子が「.rb」の場合、ソース ファイルとしてロードされます。拡張子が「.so」、「.o」、「.dll」、または現在のプラットフォームのデフォルトの共有ライブラリ拡張子である場合、Ruby は共有ライブラリを Ruby 拡張子としてロードします。それ以外の場合、Ruby は、名前が見つかるまで「.rb」、「.so」などを名前に追加しようとします。指定されたファイルが見つからない場合、LoadError が発生します。

于 2013-10-29T08:39:15.577 に答える