Menu: Difference between revisions

543 bytes added ,  14 years ago
Added Factor.
(tt → code where appropriate)
(Added Factor.)
Line 206:
return -1;
}</lang>
 
=={{header|Factor}}==
<lang factor>USE: formatting
 
: print-menu ( seq -- )
[ 1 + swap "%d - %s\n" printf ] each-index
"Your choice? " write flush ;
 
: select ( seq -- result )
dup print-menu
readln string>number [
1 - swap 2dup bounds-check?
[ nth ] [ nip select ] if
] [ select ] if* ;</lang>
 
Example usage:
<pre>( scratchpad ) { "fee fie" "huff and puff" "mirror mirror" "tick tock" } select
1 - fee fie
2 - huff and puff
3 - mirror mirror
4 - tick tock
Your choice? 1
 
--- Data stack:
"fee fie"</pre>
 
=={{header|Haskell}}==
Anonymous user