Menu: Difference between revisions

Updated to work with Nim 1.4: added missing parameter types.
(Added 11l)
(Updated to work with Nim 1.4: added missing parameter types.)
Line 1,786:
{{trans|Python}}
<lang nim>import strutils, rdstdin
 
proc menu(xs: openArray[string]) =
for i, x in xs: echo " ", i, ") ", x
 
proc ok(reply,: string; count: Positive): bool =
try:
let n = parseInt(reply)
return 0 <= n and n < count
except: return false
 
proc selector(xs,: openArray[string]; prompt: string): string =
if xs.len == 0: return ""
var reply = "-1"
Line 1,803:
reply = readLineFromStdin(prompt).strip()
return xs[parseInt(reply)]
 
const xs = ["fee fie", "huff and puff", "mirror mirror", "tick tock"]
let item = selector(xs, "Which is from the three pigs: ")
echo "You chose: ", item</lang>
 
Output:
{{out}}
<pre> 0) fee fie
1) huff and puff
Anonymous user