Hash from two arrays: Difference between revisions
Content deleted Content added
→{{header|Ruby}}: Repair the inject() loop. |
|||
Line 483: | Line 483: | ||
map[ keys[i] ] = values[i]; |
map[ keys[i] ] = values[i]; |
||
}</lang> |
}</lang> |
||
=={{header|K}}== |
|||
The keys in a dictionary must be a symbol. |
|||
<lang K> a: `zero `one `two / symbols |
|||
b: 0 1 2 |
|||
d:. a,'b / create the dictionary |
|||
.((`zero;0;) |
|||
(`one;1;) |
|||
(`two;2;)) |
|||
d[`one] |
|||
1</lang> |
|||
Here we use integers as keys (which must be converted to symbols) and strings as values (here also converted to symbols). |
|||
<lang K> keys: !10 / 0..9 |
|||
split:{1_'(&x=y)_ x:y,x} |
|||
vals:split["zero one two three four five six seven eight nine";" "] |
|||
s:{`$$x} / convert to symbol |
|||
d:. (s'keys),'s'vals |
|||
.((`"0";`zero;) |
|||
(`"1";`one;) |
|||
(`"2";`two;) |
|||
(`"3";`three;) |
|||
(`"4";`four;) |
|||
(`"5";`five;) |
|||
(`"6";`six;) |
|||
(`"7";`seven;) |
|||
(`"8";`eight;) |
|||
(`"9";`nine;)) |
|||
$d[s 1] / leading "$" converts back to string |
|||
"one"</lang> |
|||
=={{header|Lua}}== |
=={{header|Lua}}== |