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 Code.required_files用法及代码示例
- Elixir Code.prepend_path用法及代码示例
- Elixir Code.compiler_options用法及代码示例
- Elixir Code.quoted_to_algebra用法及代码示例
- Elixir Code.put_compiler_option用法及代码示例
- Elixir Code.ensure_compiled用法及代码示例
- Elixir Code.format_string!用法及代码示例
- Elixir Code.get_compiler_option用法及代码示例
- Elixir Code.Fragment.cursor_context用法及代码示例
- Elixir Code.available_compiler_options用法及代码示例
- Elixir Code.ensure_loaded?用法及代码示例
- Elixir Code.eval_quoted用法及代码示例
- Elixir Code.Fragment.container_cursor_to_quoted用法及代码示例
- Elixir Code.Fragment.surround_context用法及代码示例
- Elixir Code.delete_path用法及代码示例
- Elixir Code.append_path用法及代码示例
- Elixir Code.ensure_loaded用法及代码示例
- Elixir Code.unrequire_files用法及代码示例
- Elixir Code.fetch_docs用法及代码示例
- Elixir Code.string_to_quoted_with_comments用法及代码示例
- Elixir Code.eval_string用法及代码示例
- Elixir Code用法及代码示例
- Elixir Config.config_env用法及代码示例
- Elixir Config.config用法及代码示例
- Elixir Config.Reader用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Code.require_file(file, relative_to \\ nil)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。