|
|
(21 intermediate revisions by 4 users not shown) |
Line 3: |
Line 3: |
| *[[ Z3 | << Z3 Home ]] | | *[[ Z3 | << Z3 Home ]] |
| *[[ Z%5E3_Language_Documentation | Z3 Language Documentation]] | | *[[ Z%5E3_Language_Documentation | Z3 Language Documentation]] |
| + | *[[ Z%5E3_Array_Manipulation_Member_Functions | Listing of Z3 Array Manipulation Member Functions]] |
| + | *[[ Z%5E3_Map_Reduce | Map Reduce]] |
| + | |
| + | |
| | | |
| | | |
Line 47: |
Line 51: |
| | | |
| b=a.chunks(10) | | b=a.chunks(10) |
− | b.$$(SUM) | + | </br>b.$$(SUM) |
| | | |
| {| class="wikitable"|- | | {| class="wikitable"|- |
Line 72: |
Line 76: |
| | | |
| | | |
− | *[[ Z3 | << Z3 Home ]]
| |
− | *[[ Z%5E3_Language_Documentation | Z3 Language Documentation]]
| |
− |
| |
− | ==ARRAY FUNCTIONS==
| |
− | A listing of the Array functions are given below:
| |
| | | |
− | Function name Parameter
| |
− | {|border="1" cellpadding="5" cellspacing="0"
| |
− | |-
| |
− | ! Function Name !! Parameters
| |
− | |-
| |
− | | $ ||
| |
− | |-
| |
− | | $$ ||
| |
− | |-
| |
− | | $$$ ||
| |
− | |-
| |
− | | $$F ||
| |
− | |-
| |
− | | $A ||
| |
− | |-
| |
− | | $C ||
| |
− | |-
| |
− | | $CELLS ||
| |
− | |-
| |
− | | $R ||
| |
− | |-
| |
− | | $X ||
| |
− | |-
| |
− | | $_ ||
| |
− | |-
| |
− | | $d ||
| |
− | |-
| |
− | | $diag ||
| |
− | |-
| |
− | | $dth ||
| |
− | |-
| |
− | | $x ||
| |
− | |-
| |
− | | X$ ||
| |
− | |-
| |
− | | ZJSON ||
| |
− | |-
| |
− | | __$ ||
| |
− | |-
| |
− | | ac ||
| |
− | |-
| |
− | | accumulate ||
| |
− | |-
| |
− | | accumulatewith ||
| |
− | |-
| |
− | | across ||
| |
− | |-
| |
− | | add ||
| |
− | |-
| |
− | | addcolumn ||
| |
− | |-
| |
− | | addrow ||
| |
− | |-
| |
− | | addsequence ||
| |
− | |-
| |
− | | adjoint ||
| |
− | |-
| |
− | | aggregate ||
| |
− | |-
| |
− | | any ||
| |
− | |-
| |
− | | appendfunction ||
| |
− | |-
| |
− | | ar ||
| |
− | |-
| |
− | | async ||
| |
− | |-
| |
− | | atindex ||
| |
− | |-
| |
− | | atnode ||
| |
− | |-
| |
− | | backward ||
| |
− | |-
| |
− | | bindcolumn ||
| |
− | |-
| |
− | | branch ||
| |
− | |-
| |
− | | branchvalues ||
| |
− | |-
| |
− | | c ||
| |
− | |-
| |
− | | calci ||
| |
− | |-
| |
− | | car ||
| |
− | |-
| |
− | | cartesianproduct ||
| |
− | |-
| |
− | | cdr ||
| |
− | |-
| |
− | | cell ||
| |
− | |-
| |
− | | cells ||
| |
− | |-
| |
− | | checktype ||
| |
− | |-
| |
− | | chunks ||
| |
− | |-
| |
− | | ci ||
| |
− | |-
| |
− | | clean ||
| |
− | |-
| |
− | | clear ||
| |
− | |-
| |
− | | clearcopy ||
| |
− | |-
| |
− | | clearrepeats ||
| |
− | |-
| |
− | | clone ||
| |
− | |-
| |
− | | colconcat ||
| |
− | |-
| |
− | | colcount ||
| |
− | |-
| |
− | | collect ||
| |
− | |-
| |
− | | collectasvector ||
| |
− | |-
| |
− | | collectwhile ||
| |
− | |-
| |
− | | collectwhileasvector ||
| |
− | |-
| |
− | | column ||
| |
− | |-
| |
− | | columnconcat ||
| |
− | |-
| |
− | | columns ||
| |
− | |-
| |
− | | compare ||
| |
− | |-
| |
− | | concatall ||
| |
− | |-
| |
− | | converge ||
| |
− | |-
| |
− | | copy ||
| |
− | |-
| |
− | | core ||
| |
− | |-
| |
− | | count ||
| |
− | |-
| |
− | | crosstab ||
| |
− | |-
| |
− | | cube ||
| |
− | |-
| |
− | | cumcolumn ||
| |
− | |-
| |
− | | cumcolumns ||
| |
− | |-
| |
− | | cumcolumnswith ||
| |
− | |-
| |
− | | cumcolumnwith ||
| |
− | |-
| |
− | | cumrow ||
| |
− | |-
| |
− | | cumrows ||
| |
− | |-
| |
− | | cumrowswith ||
| |
− | |-
| |
− | | cumrowwith ||
| |
− | |-
| |
− | | cumulate ||
| |
− | |-
| |
− | | data ||
| |
− | |-
| |
− | | dc ||
| |
− | |-
| |
− | | deal ||
| |
− | |-
| |
− | | deepcopy ||
| |
− | |-
| |
− | | deletecolumn ||
| |
− | |-
| |
− | | deleterow ||
| |
− | |-
| |
− | | det ||
| |
− | |-
| |
− | | determinant ||
| |
− | |-
| |
− | | dim ||
| |
− | |-
| |
− | | div ||
| |
− | |-
| |
− | | divide ||
| |
− | |-
| |
− | | dr ||
| |
− | |-
| |
− | | drop ||
| |
− | |-
| |
− | | dropwhile ||
| |
− | |-
| |
− | | dropwhileasvector ||
| |
− | |-
| |
− | | eighteenth ||
| |
− | |-
| |
− | | eighth ||
| |
− | |-
| |
− | | eleventh ||
| |
− | |-
| |
− | | equal ||
| |
− | |-
| |
− | | equalvalues ||
| |
− | |-
| |
− | | eval ||
| |
− | |-
| |
− | | except ||
| |
− | |-
| |
− | | exec ||
| |
− | |-
| |
− | | explode ||
| |
− | |-
| |
− | | extract ||
| |
− | |-
| |
− | | few ||
| |
− | |-
| |
− | | fifteenth ||
| |
− | |-
| |
− | | fifth ||
| |
− | |-
| |
− | | fillwith ||
| |
− | |-
| |
− | | filtermatches ||
| |
− | |-
| |
− | | filteroncolumn ||
| |
− | |-
| |
− | | filteroncondition ||
| |
− | |-
| |
− | | filteronrow ||
| |
− | |-
| |
− | | findcellref ||
| |
− | |-
| |
− | | first ||
| |
− | |-
| |
− | | firstelement ||
| |
− | |-
| |
− | | firsthalf ||
| |
− | |-
| |
− | | fixat ||
| |
− | |-
| |
− | | fjoin ||
| |
− | |-
| |
− | | flatten ||
| |
− | |-
| |
− | | flip ||
| |
− | |-
| |
− | | flipparts ||
| |
− | |-
| |
− | | fold ||
| |
− | |-
| |
− | | foldl ||
| |
− | |-
| |
− | | foldr ||
| |
− | |-
| |
− | | forward ||
| |
− | |-
| |
− | | fourteenth ||
| |
− | |-
| |
− | | fourth ||
| |
− | |-
| |
− | | fourths ||
| |
− | |-
| |
− | | funcjoin ||
| |
− | |-
| |
− | | gettype ||
| |
− | |-
| |
− | | graph ||
| |
− | |-
| |
− | | graphin ||
| |
− | |-
| |
− | | half ||
| |
− | |-
| |
− | | halves ||
| |
− | |-
| |
− | | hderef ||
| |
− | |-
| |
− | | head ||
| |
− | |-
| |
− | | headings ||
| |
− | |-
| |
− | | hindex ||
| |
− | |-
| |
− | | hundredth ||
| |
− | |-
| |
− | | i ||
| |
− | |-
| |
− | | ic ||
| |
− | |-
| |
− | | ids ||
| |
− | |-
| |
− | | implode ||
| |
− | |-
| |
− | | inc ||
| |
− | |-
| |
− | | include ||
| |
− | |-
| |
− | | indices ||
| |
− | |-
| |
− | | injoin ||
| |
− | |-
| |
− | | insert ||
| |
− | |-
| |
− | | insertcolumn ||
| |
− | |-
| |
− | | insertrow ||
| |
− | |-
| |
− | | inverse ||
| |
− | |-
| |
− | | ir ||
| |
− | |-
| |
− | | is ||
| |
− | |-
| |
− | | is1d ||
| |
− | |-
| |
− | | is2d ||
| |
− | |-
| |
− | | isFalse ||
| |
− | |-
| |
− | | isTrue ||
| |
− | |-
| |
− | | islikelytype ||
| |
− | |-
| |
− | | isnotnull ||
| |
− | |-
| |
− | | isnull ||
| |
− | |-
| |
− | | istype ||
| |
− | |-
| |
− | | j ||
| |
− | |-
| |
− | | joincolumnswith ||
| |
− | |-
| |
− | | joinrowswith ||
| |
− | |-
| |
− | | joinwith ||
| |
− | |-
| |
− | | jq ||
| |
− | |-
| |
− | | keep ||
| |
− | |-
| |
− | | last ||
| |
− | |-
| |
− | | lastelement ||
| |
− | |-
| |
− | | list ||
| |
− | |-
| |
− | | lookup ||
| |
− | |-
| |
− | | make ||
| |
− | |-
| |
− | | make1to2d ||
| |
− | |-
| |
− | | makecore ||
| |
− | |-
| |
− | | makekeyarray ||
| |
− | |-
| |
− | | maplist ||
| |
− | |-
| |
− | | mapper ||
| |
− | |-
| |
− | | maprow ||
| |
− | |-
| |
− | | mask ||
| |
− | |-
| |
− | | match ||
| |
− | |-
| |
− | | matchcolumn ||
| |
− | |-
| |
− | | matchindex ||
| |
− | |-
| |
− | | matchrow ||
| |
− | |-
| |
− | | matchvalue ||
| |
− | |-
| |
− | | merge ||
| |
− | |-
| |
− | | mergecolumns ||
| |
− | |-
| |
− | | mergeio ||
| |
− | |-
| |
− | | mergerows ||
| |
− | |-
| |
− | | mid ||
| |
− | |-
| |
− | | millionth ||
| |
− | |-
| |
− | | multiply ||
| |
− | |-
| |
− | | nicejoin ||
| |
− | |-
| |
− | | nineteenth ||
| |
− | |-
| |
− | | nineth ||
| |
− | |-
| |
− | | nodeindex ||
| |
− | |-
| |
− | | notinclude ||
| |
− | |-
| |
− | | notwithinlimits ||
| |
− | |-
| |
− | | nth ||
| |
− | |-
| |
− | | ntimes ||
| |
− | |-
| |
− | | nullifyobjects ||
| |
− | |-
| |
− | | numbers ||
| |
− | |-
| |
− | | o ||
| |
− | |-
| |
− | | objects ||
| |
− | |-
| |
− | | of ||
| |
− | |-
| |
− | | otherthan ||
| |
− | |-
| |
− | | pack ||
| |
− | |-
| |
− | | pad ||
| |
− | |-
| |
− | | pair ||
| |
− | |-
| |
− | | pairmatch ||
| |
− | |-
| |
− | | partitiononcondition ||
| |
− | |-
| |
− | | parts ||
| |
− | |-
| |
− | | pastefolds ||
| |
− | |-
| |
− | | pick ||
| |
− | |-
| |
− | | pieces ||
| |
− | |-
| |
− | | pip ||
| |
− | |-
| |
− | | pipall ||
| |
− | |-
| |
− | | pipallwithslice ||
| |
− | |-
| |
− | | plot ||
| |
− | |-
| |
− | | prefix ||
| |
− | |-
| |
− | | primitives ||
| |
− | |-
| |
− | | print ||
| |
− | |-
| |
− | | printf ||
| |
− | |-
| |
− | | r ||
| |
− | |-
| |
− | | rand ||
| |
− | |-
| |
− | | random ||
| |
− | |-
| |
− | | remove ||
| |
− | |-
| |
− | | removeByVal ||
| |
− | |-
| |
− | | removeindices ||
| |
− | |-
| |
− | | removewith ||
| |
− | |-
| |
− | | repeatntimes ||
| |
− | |-
| |
− | | replace ||
| |
− | |-
| |
− | | replicate ||
| |
− | |-
| |
− | | rest ||
| |
− | |-
| |
− | | result ||
| |
− | |-
| |
− | | reverselevel ||
| |
− | |-
| |
− | | reversepip ||
| |
− | |-
| |
− | | reversesort ||
| |
− | |-
| |
− | | ri ||
| |
− | |-
| |
− | | rotate ||
| |
− | |-
| |
− | | rotatecolumns ||
| |
− | |-
| |
− | | rotaterows ||
| |
− | |-
| |
− | | row ||
| |
− | |-
| |
− | | rowconcat ||
| |
− | |-
| |
− | | rowcount ||
| |
− | |-
| |
− | | rowlengths ||
| |
− | |-
| |
− | | rowpush ||
| |
− | |-
| |
− | | rows ||
| |
− | |-
| |
− | | rslice ||
| |
− | |-
| |
− | | second ||
| |
− | |-
| |
− | | secondhalf ||
| |
− | |-
| |
− | | seq ||
| |
− | |-
| |
− | | set ||
| |
− | |-
| |
− | | setHeadings ||
| |
− | |-
| |
− | | setaxis ||
| |
− | |-
| |
− | | setcolumn ||
| |
− | |-
| |
− | | setrow ||
| |
− | |-
| |
− | | setunit ||
| |
− | |-
| |
− | | seventeenth ||
| |
− | |-
| |
− | | seventh ||
| |
− | |-
| |
− | | shiftlevel ||
| |
− | |-
| |
− | | shuffle ||
| |
− | |-
| |
− | | sixteenth ||
| |
− | |-
| |
− | | sixth ||
| |
− | |-
| |
− | | size ||
| |
− | |-
| |
− | | size2d ||
| |
− | |-
| |
− | | slices ||
| |
− | |-
| |
− | | slides ||
| |
− | |-
| |
− | | sortrecursively ||
| |
− | |-
| |
− | | sortwith ||
| |
− | |-
| |
− | | specialprint ||
| |
− | |-
| |
− | | spliteach ||
| |
− | |-
| |
− | | splitwhile ||
| |
− | |-
| |
− | | splitwhileasvector ||
| |
− | |-
| |
− | | stringlist ||
| |
− | |-
| |
− | | subtract ||
| |
− | |-
| |
− | | suchthat ||
| |
− | |-
| |
− | | suchthatasvector ||
| |
− | |-
| |
− | | suffix ||
| |
− | |-
| |
− | | t ||
| |
− | |-
| |
− | | table ||
| |
− | |-
| |
− | | tablelookup ||
| |
− | |-
| |
− | | tail ||
| |
− | |-
| |
− | | takewhile ||
| |
− | |-
| |
− | | takewhileasvector ||
| |
− | |-
| |
− | | tenth ||
| |
− | |-
| |
− | | third ||
| |
− | |-
| |
− | | thirds ||
| |
− | |-
| |
− | | thirteenth ||
| |
− | |-
| |
− | | thousandth ||
| |
− | |-
| |
− | | tofunctions ||
| |
− | |-
| |
− | | toobjectformat ||
| |
− | |-
| |
− | | totree ||
| |
− | |-
| |
− | | transpose ||
| |
− | |-
| |
− | | truefalse ||
| |
− | |-
| |
− | | twelfth ||
| |
− | |-
| |
− | | twentieth ||
| |
− | |-
| |
− | | twod ||
| |
− | |-
| |
− | | type ||
| |
− | |-
| |
− | | uncrosstab ||
| |
− | |-
| |
− | | unimplode ||
| |
− | |-
| |
− | | unimplodeleaf ||
| |
− | |-
| |
− | | unitsof ||
| |
− | |-
| |
− | | unwrapleaf ||
| |
− | |-
| |
− | | unzip ||
| |
− | |-
| |
− | | value ||
| |
− | |-
| |
− | | where ||
| |
− | |-
| |
− | | withinlimits ||
| |
− | |-
| |
− | | withouttail ||
| |
− | |-
| |
− | | x$ ||
| |
− | |-
| |
− | | xy ||
| |
− | |-
| |
− | | xypanel ||
| |
− | |-
| |
− | | z3 ||
| |
− | |-
| |
− | | zero ||
| |
− | |-
| |
− | | zip ||
| |
− | |-
| |
− | | zoompip ||
| |
− | |-
| |
− | |㪭㭲 ||
| |
− |
| |
− | |}
| |
| | | |
| | | |
| + | *[[ Z%5E3_Array_Manipulation_Member_Functions | Listing of Z3 Array Manipulation Member Functions]] |
| *[[ Z%5E3_Language_Documentation | Z3 Language Documentation]] | | *[[ Z%5E3_Language_Documentation | Z3 Language Documentation]] |
| *[[ Z3 | << Z3 Home ]] | | *[[ Z3 | << Z3 Home ]] |
Introduction to Array Manipulation
Arrays/Sets/Matrices are fundamental data structures in z^3. Manipulation of such data structures are often done using custom code in most languages. However, z^3 offers a ton of Array member functions that make it a breeze to handle and manipulate such data structures.
For example, take .chunks().
a=1..100;
This creates a list of 100 numbers. Now, let us make them into chunks of 10 each.
a.chunks(10)
gives
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10
|
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20
|
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30
|
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40
|
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50
|
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60
|
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70
|
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80
|
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90
|
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100
|
Simple, isn't it?
The result gives a 10x10 matrix filled with the sequence of numbers from 1 to 100.
Let us say we want to calculate the sum of each row in this 10x10 matrix. The $$ row wise mapping function comes to the rescue.
b=a.chunks(10)
b.$$(SUM)
55
|
155
|
255
|
355
|
455
|
555
|
655
|
755
|
855
|
955
|