from_term(Term) -> AnySet
from_term(Term, Type) -> AnySet
類型:
AnySet = anyset()
Term = term()
Type = type()
創建一個元素套通過遍曆項Term
、對列表進行排序、刪除重複項以及導出或驗證有效類型對於如此獲得的外部集。明確指定的類型
Type
可用於限製遍曆的深度;原子類型停止遍曆,如以下示例所示,其中"foo"
和{"foo"}
保持不變:
1> S = sofs:from_term([{{"foo"},[1,1]},{"foo",[2,2]}],
[{atom,[atom]}]),
sofs:to_external(S).
[{{"foo"},[1]},{"foo",[2]}]
from_term
可用於創建原子集或有序集。這樣一個集合的唯一目的是稍後構建無序集合,因為該模塊中執行任何操作的所有函數都對無序集合進行操作。如果有序集很大並且不想通過重建無序集的元素來浪費堆,則從有序集的集合創建無序集可能是一種可行的方法。以下示例顯示可以“逐層”構建集合:
1> A = sofs:from_term(a),
S = sofs:set([1,2,3]),
P1 = sofs:from_sets({A,S}),
P2 = sofs:from_term({b,[6,5,4]}),
Ss = sofs:from_sets([P1,P2]),
sofs:to_external(Ss).
[{a,[1,2,3]},{b,[4,5,6]}]
創建集合的其他函數是from_external/2
和from_sets/1
。特殊情況from_term/2
是a_function/1,2
,empty_set/0
,family/1,2
,relation/1,2
, 和set/1,2
.
相關用法
- erlang from_list用法及代碼示例
- erlang from_keys(Keys, Value)用法及代碼示例
- erlang from_list(List)用法及代碼示例
- erlang from_sets(ListOfSets)用法及代碼示例
- erlang fread(Prompt, Format)用法及代碼示例
- erlang fread(Format, String)用法及代碼示例
- erlang float用法及代碼示例
- erlang file_read用法及代碼示例
- erlang file_size用法及代碼示例
- erlang find用法及代碼示例
- erlang fun2ms(LiteralFun)用法及代碼示例
- erlang float(Number)用法及代碼示例
- erlang float_to_binary(Float, Options)用法及代碼示例
- erlang float_to_list(Float, Options)用法及代碼示例
- erlang floor(Number)用法及代碼示例
- erlang fun_to_list(Fun)用法及代碼示例
- erlang filter(Fun, Q1 :: queue(Item))用法及代碼示例
- erlang filtermap(Fun, Q1)用法及代碼示例
- erlang fold(Fun, Acc0, Q :: queue(Item))用法及代碼示例
- erlang fetch(Key, Orddict)用法及代碼示例
- erlang fetch_keys(Orddict)用法及代碼示例
- erlang filter(Pred, Orddict1)用法及代碼示例
- erlang find(Key, Orddict)用法及代碼示例
- erlang fold(Fun, Acc0, Orddict)用法及代碼示例
- erlang foldl(Fun, Acc0, Archive)用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 from_term(Term) -> AnySet。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。