func getMenuInput(selections: [String]) -> String {
  guard!selections.isEmpty else {
    return ""
  }

  func printMenu() {
    for (i, str) in selections.enumerated() {
      print("\(i + 1)) \(str)")
    }

    print("Selection: ", terminator: "")
  }

  while true {
    printMenu()

    guard let input = readLine(strippingNewline: true),!input.isEmpty else {
      return ""
    }

    guard let n = Int(input), n > 0, n <= selections.count else {
      continue
    }

    return selections[n - 1]
  }
}

let selected = getMenuInput(selections: [
  "fee fie",
  "huff and puff",
  "mirror mirror",
  "tick tock"
])

print("You chose: \(selected)")