manual:chapter6:lists:cmd_map

Synopsis


Do a procedure on each element of a list, recursively

Stack Diagram


Input Stack Output Stack
Ldata Pexec Ldata-upd
Ldata Nexec Ldata-upd
Level 2 Level 1 Level 1

Legend

Keyword type Command
Parallel list processing capabilities Group 2 Commands that must use DOLIST to parallel process
Affected by flags None

Description


The MAP command EVALuates a specified program (or a variable which contains one) to a list of objects or values. If one of the objects is a list, MAP will apply the program recursively to the items in the inner list.

MAP is nominally designed for Pexec (or Nexec) requiring one argument and returning one result.

Compatibility


MAP is fully equivalent to its userRPL counterpart.

Usage


Input

4:                                      
3:                                      
2:                       { 1 2 { X Y } }
1:                               « 2 * »
…………………………………………………………………………………………………………
MAP                                     


Output

4:                                      
3:                                      
2:                                      
1:               { 2 4 { 'X*2' 'Y*2' } }
…………………………………………………………………………………………………………
                                        

Related Commands


Operations with Lists 15 2 NEW

Command Short Description
→LIST Assemble a list from its elements
LIST→ Split a list into its elements
DOLIST Do a procedure with elements of lists CHANGED
DOSUBS Do a procedure on a subset of a list CHANGED
MAP Do a procedure on each element of a list, recursively
MAPLIST→ Do a procedure on each element recursively, return individual elements NEW
STREAM Do a procedure on consecutive elements of a list
ΔLIST First differences on the elements of a list
ΣLIST Sum of all elements in a list CHANGED
ΠLIST Product of all elements in a list CHANGED
ADD Concatenate lists and/or elements CHANGED
SORT Sort elements in a list
REVLIST Reverse the order of elements in a list
ADDROT Add elements to a list, keep only the last N elements NEW
SEQ Assemble a list from results of sequential procedure
  • manual/chapter6/lists/cmd_map.txt
  • Last modified: 2021/10/04 14:53
  • by jojo1973