J'essaie de transmettre un tableau de nombres à une instruction case. Par exemple: Je demande à l'utilisateur d'entrer une valeur, par exemple 12. Ensuite, je le divise en un tableau [1,2]. Je passe ensuite à ma déclaration de cas de méthode. Ma déclaration de cas est de sortir le format numérique de 1 et 2.Transmettre des éléments individuels d'un tableau à une instruction case dans Ruby - Numéros d'affichage LCD
Mon numéro: Je n'arrive pas à imprimer plus d'une entrée de 1 élément. Comment puis-je transmettre les numéros 1 et 2 en tant que nombre numérique avec 1 matrice? Ou avec une entrée des utilisateurs? Est-ce que mon code est loin?
Mon code:
puts "Enter numbers between 0-9 up to 2 digits: "
x = gets.chomp
x = x.split('')
def digital_number(n)
digits = n
#Start case for digit input
case digits
when ["1"]
puts " | "
puts " "
puts " | "
puts " "
puts n
when ["2"]
puts " - "
puts " |"
puts " - "
puts "| "
puts " - "
else
puts "That is not an available number."
end
end
digital_number(x)
Merci! était confus pendant une seconde parce que je mettais la fonction .each au-dessus de mon cas. Dans mon cerveau, j'ai pensé à ce que vous aviez mis ... mais je ne pense pas avoir été capable de l'écrire correctement avant. – balee1991
Savez-vous comment je peux sortir les numéros numériques côte à côte maintenant? Comme il passe par chaque numéro et le sort sur une nouvelle ligne. Y a-t-il un moyen de les espacer horizontalement? donc son impression horizontale 1 2 au lieu de verticalement 1, 2? – balee1991
Ce n'est pas possible si vous imprimez les chiffres un par un. Vous pouvez sauvegarder chaque ligne dans une variable, c'est-à-dire, quand '1' lignes [0] << '| 'lines [1] <<' ''et ainsi de suite (' lines' est un tableau de chaînes ici), puis l'imprime ligne par ligne, c'est-à-dire 'lines.each {| line | met la ligne} '. –