Associative array/Iteration: Difference between revisions
Content added Content deleted
Line 2,579: | Line 2,579: | ||
<lang Phixmonti>include ..\Utilitys.pmt |
<lang Phixmonti>include ..\Utilitys.pmt |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
def setd /# dict ( key data ) -- dict #/ |
|||
def setd |
|||
1 get var ikey |
1 get var ikey |
||
2 get var idata |
2 get var idata |
||
drop |
drop |
||
1 get ikey find var p drop |
|||
p if |
p if |
||
2 get idata p set 2 set |
|||
else |
else |
||
2 get idata 0 put 2 set |
|||
1 get ikey 0 put 1 set |
|||
endif |
endif |
||
⚫ | |||
enddef |
enddef |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
def pair /# n -- ( k d ) #/ |
def pair /# dict n -- dict ( k d ) #/ |
||
1 over 2 tolist var ikey |
1 over 2 tolist var ikey |
||
2 swap 2 tolist var idata |
2 swap 2 tolist var idata |
||
ikey sget |
|||
swap idata sget |
swap idata sget rot swap |
||
2 tolist |
2 tolist |
||
enddef |
enddef |
||
def scandict /# n -- #/ |
def scandict /# dict n -- dict ( ) #/ |
||
⚫ | |||
1 get len nip |
|||
for |
for |
||
pair |
pair |
||
n if n get nip endif |
|||
print nl |
print nl |
||
endfor |
endfor |
||
drop |
|||
enddef |
enddef |
||
def pairs |
def pairs /# dict -- dict ( ) #/ |
||
0 scandict |
0 scandict |
||
enddef |
enddef |
||
Line 2,635: | Line 2,634: | ||
/# ---------- MAIN ---------- #/ |
/# ---------- MAIN ---------- #/ |
||
⚫ | |||
( "one" 1 ) setd |
( "one" 1 ) setd |
||
Line 2,642: | Line 2,643: | ||
pairs nl |
pairs nl |
||
keys nl |
keys nl |
||
values |
values |
||
</lang> |
|||
=={{header|PHP}}== |
=={{header|PHP}}== |