forked from mruby/mruby
-
Notifications
You must be signed in to change notification settings - Fork 4
require
akiray03 edited this page Oct 16, 2012
·
3 revisions
-
特徴
- ロードパスからファイルを探す
- 拡張子 .rb / .mrb を省略できる (.rb が優先)
- 同じファイルは二度以上ロードしない
-
CRubyと異なる点
- 拡張ライブラリ (.so) はロードできない
-
注意点
- 拡張子 .rb のロードには、 mrbc が必要
- tools/mruby, tools/mirb の実行環境・実行方法によっては、ロードパスが設定されない
- mruby の -I オプション、または MRBLIB環境変数で指定してください
-
特徴
- 同じファイルを複数回ロードできる
- 他は require と同様
-
CRubyと異なる点
- 拡張ライブラリ (.so) はロードできない
- 拡張子 .rb / .mrb が補われる
-
注意点
- require と同様
-
mrbcのパス
- tools/mruby, tools/mirb を相対パスで起動した場合には、各バイナリと同じディレクトリに mrbc が存在することを仮定します
- その他の場合は、環境変数 PATH を順に探索します
-
.rbファイルのコンパイル
- .rb ファイルを読み込む場合には、 mrbc を使って mrb 形式にコンパイルを行います
- コンパイル結果(.mrbファイル)は /tmp 配下に出力され、 require / load が成功すると削除されます
-
ロードパス
- tools/mruby は、 -I オプションで指定できます (ロードパスの先頭に追加されます)
- 環境変数 MRBLIB で指定できます
- tools/mruby, tools/mirb を相対パスで起動した場合には、ひとつ上位階層のディレクトリの ext に対するロードパスが追加されます
mruby_repo/bin/mruby
/ext <---
-
requireで読み込んだファイル一覧
- require で読み込みに成功したファイルは $" に配列で格納されます
- require で読み込もうとしたファイルは $"_ に配列で格納されます (mruby独自)