"Introduction à Ruby pour ceux qui veulent devenir un professionnel" Je suis un débutant en programmation après avoir appris le livre dit de la cerise. Quand j'ai voulu bouger mes mains et mettre en pratique ce que j'apportais, j'ai trouvé un article de l'auteur. "Si vous rencontrez des problèmes avec le matériel de sortie!? J'ai collecté des problèmes de programmation pour les débutants Ruby (10 questions au total)"
J'ai essayé de résoudre ce troisième problème.
Cliquez ici pour d'autres numéros Première question: Problème de création de calendrier (problème de pratique Ruby amusant) Deuxième question: Problème de création de machine à karaoké Troisième question: Problème de création de carte de bingo Quatrième question: Problème de boisson bonus Cinquième question: Problème de création du répertoire
Pour plus de détails d'ici
B: de 1 à 15 I: entre 16 et 30 N: l'un des 31-45 G: l'un des 46-60 O: l'un des 61-75 Faites la carte de bingo suivante selon la règle.
B | I | N | G | O 13 | 22 | 32 | 48 | 61 3 | 23 | 43 | 53 | 63 4 | 19 | | 60 | 65 12 | 16 | 44 | 50 | 75 2 | 28 | 33 | 56 | 68
> La sortie de la méthode Bingo.generate_card doit répondre aux spécifications suivantes en plus des règles de nombre mentionnées ci-dessus.
- Générez une carte différente à chaque fois.
--Séparez chaque colonne avec un tuyau (|).
- Les nombres et les caractères "BINGO" sont affichés justifiés à droite.
- L'espace est affiché au milieu (où il devient GRATUIT).
# Exemple de réponse
Il s'est avéré être quelque chose comme ça.
```ruby
class Bingo
def self.generate_card
title = "BINGO".split("").map{|bingo| sprintf("%2s",bingo)}.join(" | ")
numbers = [*1..75].each_slice(15).to_a.map{|b| b.sample(5)}
numbers[2][2] = " "
body = []
for i in 0..4
body << numbers.map{|number| sprintf("%2s",number[i])}.join(' | ')
end
[title,body].join("\n")
end
end
Les réponses d'autres personnes ont également été publiées sur le lien ci-dessous. Ruby-Nous sommes heureux d'annoncer les 3 meilleures œuvres de "Bingo Card Creation Problem"!
Je n'ai pas utilisé la méthode transpose
parce que je ne la connaissais pas, mais en regardant les réponses des autres, il semble y avoir plus de place pour la refactorisation.
Si vous avez des opinions, faites-le nous savoir dans les commentaires. Je vous remercie.