Ich lehre mich selbst Ruby, also bitte, ertragen Sie mit mir. Wenn ich ein Objekt mit mehreren definierenden Attributen erzeuge und dieses Objekt in ein Array verschiebe, wie kann ich auf eines dieser Attribute in einer anderen Methode zugreifen, um es in einem Kontrollflussschema zu verwenden? Ich mache ein Banking-ATM-Programm zum Spaß. Mein Code ist unter ...Zugriff auf die Instanzvariable eines Objekts von einem Array aus
class Bank
class AccountMaker
attr_accessor :account_number, :name, :balance, :pin
def initialize(account_number, name, balance, pin)
@account_number = account_number
@name = name
@balance = balance
@pin = pin
end
end
def initialize
@accounts = []
end
def add_account(account_number, name, balance, pin)
account = AccountMaker.new(account_number, name, balance, pin)
@accounts << account
end
def login_screen(accounts)
def account_number_login(accounts)
puts "Please enter your 7 digit account number."
account_number_input = gets.chomp
puts accounts.instance_variable_get(:account_number)
if (/^\d{7}$/ === account_number_input) and (account_number_input === (what should go here))
thank_you_msg()
pin_login(account_number_input)
else
error_msg()
account_number_login()
end
end
Ich habe mehr Code danach, aber es ist nicht relevant für die Frage. Im Wesentlichen möchte ich aus dem Konto array: account_number extrahieren und es in der if-Anweisung innerhalb der Login_screen-Funktion verwenden, um festzustellen, ob das Konto tatsächlich existiert. Jede und jede Hilfe würde geschätzt werden.
Ehrfürchtig danke. Was nun, wenn ich es mit Objekten vergleichen wollte? Angenommen, ich habe mehrere verschiedene Objekte mit unterschiedlichen Kontonummern und ich wollte das eine Objektkonto, das mit der Kontonummer übereinstimmt, die der Benutzer eingibt? – JCD
Sie würden wahrscheinlich stattdessen ['Hash'] (http://ruby-doc.org/core/Hash.html) verwenden. Die Kontonummer wäre ein Schlüssel und das tatsächliche Konto der Wert. – Uzbekjon
Das denke ich auch. Ich ging weiter machte es zu einem Hash, so die gleiche Frage wie zuvor nur, wie kann ich auf den Hash innerhalb des Arrays, insbesondere die: account_number Wert? – JCD