aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorSean Dewar <seandewar@users.noreply.github.com>2022-02-08 17:05:27 +0000
committerGitHub <noreply@github.com>2022-02-08 17:05:27 +0000
commit46c93b43046eae6600832c563169e154a3ecb1be (patch)
treede00e0d0a8108e93e86664b1ffd3571a7c5eacc0 /runtime
parent1a5e893cee699481e15d73948cc4e42a5b1c7eae (diff)
parent8d99f53f3dc0815d5515551473367d06669836e0 (diff)
downloadrneovim-46c93b43046eae6600832c563169e154a3ecb1be.tar.gz
rneovim-46c93b43046eae6600832c563169e154a3ecb1be.tar.bz2
rneovim-46c93b43046eae6600832c563169e154a3ecb1be.zip
Merge pull request #16553 from seandewar/vim-8.2.0878
vim-patch:8.2.{0882,1051,1083}: port `reduce()` function
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/builtin.txt21
1 files changed, 21 insertions, 0 deletions
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 9bf37a3759..6195dd4a0b 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -340,6 +340,8 @@ range({expr} [, {max} [, {stride}]])
readdir({dir} [, {expr}]) List file names in {dir} selected by {expr}
readfile({fname} [, {type} [, {max}]])
List get list of lines from file {fname}
+reduce({object}, {func} [, {initial}])
+ any reduce {object} using {func}
reg_executing() String get the executing register name
reg_recorded() String get the last recorded register name
reg_recording() String get the recording register name
@@ -5772,6 +5774,25 @@ readfile({fname} [, {type} [, {max}]])
Can also be used as a |method|: >
GetFileName()->readfile()
+reduce({object}, {func} [, {initial}]) *reduce()* *E998*
+ {func} is called for every item in {object}, which can be a
+ |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
+ item. If {initial} is not given and {object} is empty no
+ result can be computed, an E998 error is given.
+
+ Examples: >
+ echo reduce([1, 3, 5], { acc, val -> acc + val })
+ echo reduce(['x', 'y'], { acc, val -> acc .. val }, 'a')
+ echo reduce(0z1122, { acc, val -> 2 * acc + val })
+<
+ Can also be used as a |method|: >
+ echo mylist->reduce({ acc, val -> acc + val }, 0)
+
reg_executing() *reg_executing()*
Returns the single letter name of the register being executed.
Returns an empty string when no register is being executed.