Menu: Difference between revisions

Content added Content deleted
(Nimrod -> Nim)
m (Added Sidef language)
Line 1,787: Line 1,787:
writeln("You chose " <& menuSelect(items, prompt));
writeln("You chose " <& menuSelect(items, prompt));
end func;</lang>
end func;</lang>

=={{header|Sidef}}==
<lang ruby>func menu (prompt, arr) {
arr.len > 0 || return '';
loop {
arr.range.each { |i|
say " #{i}: #{arr[i]}";
};
var n = Sys.scanln(prompt);
n ~~ /^[0-9]+\z/ ? n.to_i! : next;
arr.exists(n) && return arr[n];
}
}

var list = ['fee fie', 'huff and puff', 'mirror mirror', 'tick tock'];
var prompt = 'Please choose an item number: ';

var answer = menu(prompt, list);
say "You choose: #{answer}";</lang>


=={{header|Tcl}}==
=={{header|Tcl}}==