Elixir語言中 Kernel.struct
相關用法介紹如下。
用法:
struct(struct, fields \\ [])
@spec struct(module() | struct(), Enum.t()) :: struct()
創建和更新結構。
struct
參數可以是一個原子(定義 defstruct
)或 struct
本身。第二個參數是在枚舉期間發出雙元素元組(鍵值對)的任何
。Enumerable
中不存在於結構中的鍵會被自動丟棄。請注意,鍵必須是原子,因為在定義結構時隻允許使用原子。如果 Enumerable
中的鍵重複,則將采用最後一個條目(與 Enumerable
的行為相同)。Map.new/1
此函數對於動態創建和更新結構以及將映射轉換為結構很有用;在後一種情況下,僅在Map中插入適當的:__struct__
字段可能是不夠的,應該使用
。struct/2
例子
defmodule User do
defstruct name: "john"
end
struct(User)
#=> %User{name: "john"}
opts = [name: "meg"]
user = struct(User, opts)
#=> %User{name: "meg"}
struct(user, unknown: "value")
#=> %User{name: "meg"}
struct(User, %{name: "meg"})
#=> %User{name: "meg"}
# String keys are ignored
struct(User, %{"name" => "meg"})
#=> %User{name: "john"}
相關用法
- Elixir Kernel.spawn_monitor用法及代碼示例
- Elixir Kernel.spawn用法及代碼示例
- Elixir Kernel.sigil_r用法及代碼示例
- Elixir Kernel.sigil_c用法及代碼示例
- Elixir Kernel.sigil_w用法及代碼示例
- Elixir Kernel.sigil_N用法及代碼示例
- Elixir Kernel.sigil_D用法及代碼示例
- Elixir Kernel.sigil_R用法及代碼示例
- Elixir Kernel.spawn_link用法及代碼示例
- Elixir Kernel.sigil_s用法及代碼示例
- Elixir Kernel.sigil_C用法及代碼示例
- Elixir Kernel.sigil_T用法及代碼示例
- Elixir Kernel.send用法及代碼示例
- Elixir Kernel.sigil_U用法及代碼示例
- Elixir Kernel.sigil_W用法及代碼示例
- Elixir Kernel.sigil_S用法及代碼示例
- Elixir Kernel.SpecialForms.case用法及代碼示例
- Elixir Kernel.round用法及代碼示例
- Elixir Kernel.left / right用法及代碼示例
- Elixir Kernel.put_in用法及代碼示例
- Elixir Kernel.tl用法及代碼示例
- Elixir Kernel.left - right用法及代碼示例
- Elixir Kernel.tuple_size用法及代碼示例
- Elixir Kernel.defexception用法及代碼示例
- Elixir Kernel.to_charlist用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Kernel.struct(struct, fields \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。