Jump to content

Associative array/Merging: Difference between revisions

m (→‎{{header|Raku}}: Fix comment: Perl 6 --> Raku)
Line 305:
{{Out}}
<pre>Item {name = Just "Rocket Skates", price = Just 15.25, color = Just "red", year = Just 1974}</pre>
 
=={{header|J}}==
<lang J>
merge=: ,. NB. use: update merge original
compress=: #"1~ ~:@:keys
keys=: {.
values=: {:
get=: [: > ((i.~ keys)~ <)~ { values@:] NB. key get (associative array)
pair=: [: |: <;._2;._2
</lang>
Exercise the definitions. Interactive J prompts with 3 space indentation.
<pre>
] D=: pair 0 :0
name;Rocket Skates;
price;12.75;
color;yellow;
)
┌─────────────┬─────┬──────┐
│name │price│color │
├─────────────┼─────┼──────┤
│Rocket Skates│12.75│yellow│
└─────────────┴─────┴──────┘
 
E=: pair 0 :0
price;15.25;
color;red;
year;1974;
)
 
'color'get D
yellow
 
'color'get E
red
 
] F=: E merge D
┌─────┬─────┬────┬─────────────┬─────┬──────┐
│price│color│year│name │price│color │
├─────┼─────┼────┼─────────────┼─────┼──────┤
│15.25│red │1974│Rocket Skates│12.75│yellow│
└─────┴─────┴────┴─────────────┴─────┴──────┘
 
'color' get F
red
 
]G=: compress F
┌─────┬─────┬────┬─────────────┐
│price│color│year│name │
├─────┼─────┼────┼─────────────┤
│15.25│red │1974│Rocket Skates│
└─────┴─────┴────┴─────────────┘
 
'no such key'get F
|index error: get
| 'no such key' get F
 
'color'get F
red
</pre>
 
=={{header|Java}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.