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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。