Skip to content

Commit

Permalink
patch 8.2.3849: functions implementing reduce and map are too long
Browse files Browse the repository at this point in the history
Problem:    Functions implementing reduce and map are too long.
Solution:   Use a function for each type of value.  Add a few more test cases
            and add to the help. (Yegappan Lakshmanan, closes #9370)
  • Loading branch information
yegappan authored and brammool committed Dec 19, 2021
1 parent 0ccb584 commit 389b721
Show file tree
Hide file tree
Showing 4 changed files with 582 additions and 473 deletions.
12 changes: 7 additions & 5 deletions runtime/doc/eval.txt
Expand Up @@ -4893,7 +4893,8 @@ filter({expr1}, {expr2}) *filter()*
of the current item. For a |Dictionary| |v:key| has the key
of the current item and for a |List| |v:key| has the index of
the current item. For a |Blob| |v:key| has the index of the
current byte.
current byte. For a |String| |v:key| has the index of the
current character.
Examples: >
call filter(mylist, 'v:val !~ "OLD"')
< Removes the items where "OLD" appears. >
Expand Down Expand Up @@ -7588,7 +7589,8 @@ map({expr1}, {expr2}) *map()*
of the current item. For a |Dictionary| |v:key| has the key
of the current item and for a |List| |v:key| has the index of
the current item. For a |Blob| |v:key| has the index of the
current byte.
current byte. For a |String| |v:key| has the index of the
current character.
Example: >
:call map(mylist, '"> " . v:val . " <"')
< This puts "> " before and " <" after each item in "mylist".
Expand Down Expand Up @@ -8959,9 +8961,9 @@ readfile({fname} [, {type} [, {max}]])

reduce({object}, {func} [, {initial}]) *reduce()* *E998*
{func} is called for every item in {object}, which can be a
|String|, |List| or a |Blob|. {func} is called with two arguments:
the result so far and current item. After processing all
items the result is returned.
|String|, |List| or a |Blob|. {func} is called with two
arguments: the result so far and current item. After
processing all items the result is returned.

{initial} is the initial result. When omitted, the first item
in {object} is used and {func} is first called for the second
Expand Down

0 comments on commit 389b721

Please sign in to comment.