-6
votes

RUBY TRUE / FAUX TRAY

Le code ci-joint doit pouvoir vérifier si le numéro entré est dans le tableau, puis exécuté si true et si faux un message renvoyé.

accounts = [5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 8080152, 4562555, 5552012, 5050552, 7825877, 1250255,
       1005231, 6545231, 3852085, 7576651, 7881200, 4581002,]
puts "What is your account number?"
my_account = gets.to_i
for v in (my_account)
  if v ==(my_account) 
    puts "Welcome to your account"
  end
end


2 commentaires

méthode non définie `chacune 'pour 5658845: erreur entière qui se produit


Vous voudrez confirmer gets.chomp est la représentation de chaîne d'un nombre naturel (entier non négatif). Si, par exemple, obtient => "cat \ n" , my_account = gets.to_i # => 0 et vous vérifierez de manière jerry pour voir si comptes < / code> contient un zéro. Voir chaîne # to_i pour comprendre pourquoi < CODE> "CATS \ N" .TO_I # => 0 . Vous pouvez vérifier cela avec une expression régulière. S'il devrait s'agir d'un nombre naturel, gets.chomp = ~ / \ d / est true si obtient.chomp contient un caractère autre que A DIGIT, donc vous voulez ! (get.chomp = ~ / \ d /) ou obtient.chomp! ~ / \ d /) .


3 Réponses :


2
votes

Cette ligne est incorrecte xxx

il doit être xxx

vous souhaitez passer par les numéros dans comptes Array, pas my_account , c'est juste un seul numéro


0 commentaires

0
votes

Vous devriez essayer:

accounts = [5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 8080152, 4562555, 5552012, 5050552, 7825877, 1250255,
       1005231, 6545231, 3852085, 7576651, 7881200, 4581002,]
puts "What is your account number?"
my_account = gets.to_i
if accounts.include?(my_account)
  puts "Welcome to your account"
else
  # do whatever you need to do
end


1 commentaires

Pourquoi avez-vous besoin d'une virgule après le dernier élément de la matrice?



0
votes

Vous devriez utiliser Array #include? code>

accounts = [1, 2, 3]
puts "What is your account number?"
my_account = gets.to_i

for v in accounts
  if v == my_account
    puts "Welcome to your account #{v}"
  else
    puts "#{v} is not your account"
  end
end

# What is your account number?
# 2
# 1 is not your account
# Welcome to your account 2
# 3 is not your account


1 commentaires

Eh bien, dans le pire des cas Array # Inclure? passerait également à travers tout le tableau :)