當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang filtermap(Fun, Q1)用法及代碼示例


filtermap(Fun, Q1) -> Q2
OTP 24.0
類型:
Fun = fun((Item) -> boolean() | {true, Value})
Q1 = queue(Item)
Q2 = queue(Item | Value)
Item = Value = term()

返回隊列 Q2,它是對 Q1 中的所有項目調用 Fun(Item) 的結果。

如果 Fun(Item) 返回 true ,則將 Item 複製到結果隊列。如果它返回false,則不複製Item。如果返回{true, NewItem},則結果隊列中該位置的隊列元素將被替換為NewItem

示例 1:

1> Queue = queue:from_list([1,2,3,4,5]).
{[5,4,3],[1,2]}
2> Queue1 = queue:filtermap(fun (E) -> E > 2 end, Queue).
{[5],[3,4]}
3> queue:to_list(Queue1).
[3,4,5]
4> Queue1 = queue:filtermap(fun (E) -> {true, E+100} end, Queue).
{"ihg","ef"}
5> queue:to_list(Queue1).
"efghi

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 filtermap(Fun, Q1) -> Q2。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。