September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -1,23 +1,26 @@
def select(prompt, items)
return "" if items.empty?
loop do
items.each_index {|i| puts "#{i}. #{items[i]}"}
print "#{prompt}: "
begin
answer = Integer(gets)
rescue ArgumentError
redo
def select(prompt, items = [])
if items.empty?
''
else
answer = -1
until (0...items.length).cover?(answer)
items.each_with_index {|i,j| puts "#{j}. #{i}"}
print "#{prompt}: "
begin
answer = Integer(gets)
rescue ArgumentError
redo
end
end
return items[answer] if (0...items.length).cover?(answer)
items[answer]
end
end
# test empty list
response = select("Which is empty", [])
puts "empty list returns: >#{response}<"
puts
response = select('Which is empty')
puts "empty list returns: >#{response}<\n"
# "real" test
items = ['fee fie', 'huff and puff', 'mirror mirror', 'tick tock']
response = select("Which is from the three pigs", items)
response = select('Which is from the three pigs', items)
puts "you chose: >#{response}<"