Elixir语言中 Record
相关用法介绍如下。
用于处理、定义和导入记录的模块。
记录只是第一个元素是原子的元组:
iex> Record.is_record({User, "john", 27})
true
该模块为在编译时处理记录提供了便利,其中编译时字段名称用于操作元组,在元组的紧凑结构之上提供快速操作。
在 Elixir 中,记录主要用于两种情况:
- 处理简短的内部数据
- 与 Erlang 记录交互
宏
和 defrecord/3
可用于创建记录,而 defrecordp/3
和 extract/2
可用于从 Erlang 文件中提取记录。extract_all/1
类型
可以使用 record/2
宏(仅在 typespecs 中可用)为元组定义类型。该宏将扩展为一个元组,如下例所示:
defmodule MyModule do
require Record
Record.defrecord(:user, name: "john", age: 25)
@type user :: record(:user, name: String.t(), age: integer)
# expands to: "@type user :: {:user, String.t(), integer}"
end
反射
可以通过读取@__records__
模块属性来检索模块中所有记录的列表(如果有)。它返回带有记录种类、名称、标签和字段的映射列表。该属性仅在模块定义中可用。
相关用法
- Elixir Record.extract用法及代码示例
- Elixir Record.defrecord用法及代码示例
- Elixir Record.is_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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。