On 23/03/14 12:45 PM, Marvin Renich wrote:
* Bram Moolenaar <b...@moolenaar.net> [230314 13:24]:
Ernie Rael wrote:

I sometimes want "collection->foreach((_, v) => ...v...)", a simple
one liner, no return or return ignored. I know it's not a performance
winner, or I'd want it more.

After a quick look at the code, it looks like simply introducing
another filtermap_T, FILTERMAP_FOREACH, and there's not much coding
needed (I only looked at list). Probably more work doing tests/doc.

Any objections or other considerations?
So, this would iterate over the items in a List or Dictionary and invoke
a function for each one.  I assume the List or Dictionary is not
modified, otherwise you would use map().  Thus it's a short version of a
for loop.  This seems useful.

I would suggest first writing the help and think of any error conditions
that need to be handled.  Perhaps the collection should be locked
(frozen) to avoid trouble?
Would this have any functionality that is not provided by using mapnew
and ignoring or throwing away the result?

All the existing functions, map/mapnew/filter, require a return value; that makes it impossible to have a one line lambda with a rhs that isn't a value. And requiring a new list to be built is painful.

-ernie

...Marvin


--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/ce905ad3-a101-b9ec-d989-c4949a97f0d4%40raelity.com.

Raspunde prin e-mail lui