當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Elixir Code.require_file用法及代碼示例


Elixir語言中 Code.require_file 相關用法介紹如下。

用法:

require_file(file, relative_to \\ nil)
@spec require_file(binary(), nil | binary()) :: [{module(), binary()}] | nil

需要給定的 file

接受 relative_to 作為參數來判斷文件的位置。如果已經需要該文件,則 require_file/2 不執行任何操作並返回 nil

請注意,如果不同進程同時調用 require_file/2 ,則調用 require_file/2 的第一個進程將獲得鎖,其餘進程將阻塞,直到文件可用。這意味著如果對給定文件多次調用 require_file/2 ,則該文件將隻編譯一次。第一個調用 require_file/2 的進程將獲得已加載模塊的列表,其他進程將獲得 nil

如果您想在不跟蹤文件名的情況下編譯文件,請參閱 compile_file/2 。最後,如果您想獲得評估文件而不是其中定義的模塊的結果,請參閱 eval_file/2

例子

如果不需要該文件,則返回模塊列表:

modules = Code.require_file("eex_test.exs", "../eex/test")
List.first(modules)
#=> {EExTest.Compiled, <<70, 79, 82, 49, ...>>}

如果需要該文件,則返回 nil

Code.require_file("eex_test.exs", "../eex/test")
#=> nil

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Code.require_file(file, relative_to \\ nil)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。