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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。