substitution(SetFun, Set1) -> Set2
类型:
SetFun = set_fun()
Set1 = Set2 = a_set()
返回一个函数,其域是 Set1
。域的元素的值是将SetFun
应用于该元素的结果。
1> L = [{a,1},{b,2}].
[{a,1},{b,2}]
2> sofs:to_external(sofs:projection(1,sofs:relation(L))).
[a,b]
3> sofs:to_external(sofs:substitution(1,sofs:relation(L))).
[{{a,1},a},{{b,2},b}]
4> SetFun = {external, fun({A,_}=E) -> {E,A} end},
sofs:to_external(sofs:projection(SetFun,sofs:relation(L))).
[{{a,1},a},{{b,2},b}]
{a,b,c}的元素之间的相等关系:
1> I = sofs:substitution(fun(A) -> A end, sofs:set([a,b,c])),
sofs:to_external(I).
[{a,a},{b,b},{c,c}]
让SetOfSets
是一组集合并且BinRel
二元关系。映射每个元素的函数Set
的SetOfSets
到图片的Set
在下面BinRel
由以下函数返回:
images(SetOfSets, BinRel) ->
Fun = fun(Set) -> sofs:image(BinRel, Set) end,
sofs:substitution(Fun, SetOfSets).
外部无序集表示为排序列表。因此,在关系 R 下创建集合的图像可以遍历 R 的所有元素(从而对结果进行排序,即图像)。在image/2
,BinRel
的每个元素都被遍历一次SetOfSets
,这可能需要很长时间。假设每个元素的图像SetOfSets
在下面BinRel
非空:
images2(SetOfSets, BinRel) ->
CR = sofs:canonical_relation(SetOfSets),
R = sofs:relative_product1(CR, BinRel),
sofs:relation_to_family(R).
相关用法
- erlang substr用法及代码示例
- erlang substr(String, Start)用法及代码示例
- erlang sublist用法及代码示例
- erlang sub_string(String, Start)用法及代码示例
- erlang sub_word(String, Number)用法及代码示例
- erlang sublist(List1, Start, Len)用法及代码示例
- erlang subtract(List1, List2)用法及代码示例
- erlang sum用法及代码示例
- erlang sin用法及代码示例
- erlang str用法及代码示例
- erlang sort用法及代码示例
- erlang split_binary用法及代码示例
- erlang self用法及代码示例
- erlang spawn用法及代码示例
- erlang spawn on Node用法及代码示例
- erlang spawnlink用法及代码示例
- erlang safe_fixtable(Table, Fix)用法及代码示例
- erlang select(Table, MatchSpec)用法及代码示例
- erlang select_replace(Table, MatchSpec)用法及代码示例
- erlang select_reverse(Continuation)用法及代码示例
- erlang split(Filename)用法及代码示例
- erlang setelement(Index, Tuple1, Value)用法及代码示例
- erlang size(Item)用法及代码示例
- erlang spawn(Module, Function, Args)用法及代码示例
注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 substitution(SetFun, Set1) -> Set2。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。