53 lines
998 B
Ruby
53 lines
998 B
Ruby
# Défi : interpréter une commande
|
|
#
|
|
# Tu construis une petite interface terminal.
|
|
#
|
|
# Écris la méthode `parse_command(input)`.
|
|
#
|
|
# Entrées possibles :
|
|
#
|
|
# "play 3"
|
|
# "help"
|
|
# "quit"
|
|
#
|
|
# Résultats attendus :
|
|
#
|
|
# parse_command("play 3")
|
|
# => { action: :play, card: 3 }
|
|
#
|
|
# parse_command("help")
|
|
# => { action: :help }
|
|
#
|
|
# parse_command("quit")
|
|
# => { action: :quit }
|
|
#
|
|
# Une commande invalide doit retourner :
|
|
#
|
|
# { action: :invalid }
|
|
#
|
|
# Exemples invalides :
|
|
#
|
|
# "play"
|
|
# "play three"
|
|
# "play 0"
|
|
# "play 3 extra"
|
|
# "hello"
|
|
#
|
|
# Contraintes :
|
|
# - accepte les espaces au début et à la fin ;
|
|
# - `play` n'accepte qu'un entier strictement positif ;
|
|
# - la commande doit respecter exactement une des formes prévues ;
|
|
# - ne lève pas d'exception pour une entrée invalide.
|
|
#
|
|
# Exemples supplémentaires :
|
|
#
|
|
# parse_command(" play 3 ")
|
|
# => { action: :play, card: 3 }
|
|
#
|
|
# parse_command("play 3 extra")
|
|
# => { action: :invalid }
|
|
|
|
def parse_command(input)
|
|
# À compléter.
|
|
end
|