menu implementation

If the range isn't between 0 and 3, `print_both` will be called two times. To avoid this, you can replace the previous match by:

```
if let 0...3 = menu_index {
    return menu[menu_index as uint].to_string();
}
```

The body of an `if let` will only be executed when the pattern matches