diff options
author | Fredrik Gustafsson <[email protected]> | 2013-05-02 11:28:40 +0200 |
---|---|---|
committer | Fredrik Gustafsson <[email protected]> | 2013-05-02 11:28:40 +0200 |
commit | 7fd1f9be22e8b5fea2c8363770f7dba1a14f81d4 (patch) | |
tree | 5ff85694e83d9c428b40a3526f795ff97171cb79 /lib/stdlib/doc/src | |
parent | 49edd0102919a1dcf673cb34634fb89fa55f505a (diff) | |
parent | f717cdd28f4a0382db18239622a4a0ba30b29336 (diff) | |
download | otp-7fd1f9be22e8b5fea2c8363770f7dba1a14f81d4.tar.gz otp-7fd1f9be22e8b5fea2c8363770f7dba1a14f81d4.tar.bz2 otp-7fd1f9be22e8b5fea2c8363770f7dba1a14f81d4.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/stdlib/doc/src')
-rw-r--r-- | lib/stdlib/doc/src/lists.xml | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml index 858c82aac9..251a383cf8 100644 --- a/lib/stdlib/doc/src/lists.xml +++ b/lib/stdlib/doc/src/lists.xml @@ -152,6 +152,31 @@ </desc> </func> <func> + <name name="filtermap" arity="2"/> + <fsummary>Filter and map elements which satisfy a function</fsummary> + <desc> + <p>Calls <c><anno>Fun</anno>(<anno>Elem</anno>)</c> on successive elements <c>Elem</c> + of <c><anno>List1</anno></c>. <c><anno>Fun</anno>/2</c> must return either a boolean + or a tuple <c>{true, <anno>Value</anno>}</c>. The function returns the list of elements + for which <c><anno>Fun</anno></c> returns a new value, where a value of <c>true</c> + is synonymous with <c>{true, <anno>Elem</anno>}</c>.</p> + <p>That is, <c>filtermap</c> behaves as if it had been defined as follows:</p> + <code type="none"> +filtermap(Fun, List1) -> + lists:foldr(fun(Elem, Acc) -> + case Fun(Elem) of + false -> Acc; + true -> [Elem|Acc]; + {true,Value} -> [Value|Acc] + end, + end, [], List1).</code> + <p>Example:</p> + <pre> +> <input>lists:filtermap(fun(X) -> case X rem 2 of 0 -> {true, X div 2}; _ -> false end end, [1,2,3,4,5]).</input> +[1,2]</pre> + </desc> + </func> + <func> <name name="flatlength" arity="1"/> <fsummary>Length of flattened deep list</fsummary> <desc> |