Elixir语言中 Record.extract
相关用法介绍如下。
用法:
extract(name, opts)
@spec extract(
name :: atom(),
keyword()
) :: keyword()
从 Erlang 文件中提取记录信息。
返回一个带引号的表达式,其中包含作为元组列表的字段。
name
是提取记录的名称,应该是一个原子 at compile time
。
选项
此函数需要以下选项之一,这些选项彼此互斥(即,同一调用中只能使用其中一个):
-
:from
- (表示文件路径的二进制文件)包含要提取的记录定义的 Erlang 文件的路径;使用此选项,此函数使用与 Erlang 模块中使用的-include
属性相同的路径查找。 -
:from_lib
- (表示文件路径的二进制文件)包含要提取的记录定义的 Erlang 文件的路径;使用此选项,此函数使用与 Erlang 模块中使用的-include_lib
属性相同的路径查找。
它还接受以下可选的非排他性选项:
-
:includes
-(作为二进制文件的目录列表)如果要提取的记录依赖于相对包含,则此选项允许开发人员指定存在这些相对包含的目录。 -
:macros
-(宏名称和值的关键字列表)如果要提取的记录取决于宏的值,则此选项允许设置这些宏的值。
这些选项在编译时应该是文字(包括二进制值)。
例子
iex> Record.extract(:file_info, from_lib: "kernel/include/file.hrl")
[
size: :undefined,
type: :undefined,
access: :undefined,
atime: :undefined,
mtime: :undefined,
ctime: :undefined,
mode: :undefined,
links: :undefined,
major_device: :undefined,
minor_device: :undefined,
inode: :undefined,
uid: :undefined,
gid: :undefined
]
相关用法
- Elixir Record.defrecord用法及代码示例
- Elixir Record.is_record用法及代码示例
- Elixir Record用法及代码示例
- Elixir Registry.count_match用法及代码示例
- Elixir Registry.lookup用法及代码示例
- Elixir Registry.unregister_match用法及代码示例
- Elixir Regex.run用法及代码示例
- Elixir Regex.names用法及代码示例
- Elixir Registry.register用法及代码示例
- Elixir Registry用法及代码示例
- Elixir Registry.values用法及代码示例
- Elixir Registry.put_meta用法及代码示例
- Elixir Regex.named_captures用法及代码示例
- Elixir Registry.keys用法及代码示例
- Elixir Regex.match?用法及代码示例
- Elixir Registry.start_link用法及代码示例
- Elixir Registry.unregister用法及代码示例
- Elixir Registry.delete_meta用法及代码示例
- Elixir Registry.count用法及代码示例
- Elixir Registry.meta用法及代码示例
- Elixir Registry.select用法及代码示例
- Elixir Registry.update_value用法及代码示例
- Elixir Registry.match用法及代码示例
- Elixir Regex.escape用法及代码示例
- Elixir Regex用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Record.extract(name, opts)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。