Преподавание себя Руби, поэтому, пожалуйста, несите меня. Если я создаю объект с несколькими определяющими атрибутами и вставляю этот объект в массив, как мне получить доступ к одному из этих атрибутов в другом методе, чтобы использовать его в схеме потока управления? Я делаю программу банкоматов для развлечения. Мой код ниже ...Доступ к переменной экземпляра объекта из массива
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
У меня есть код после этого, но это не относится к вопросу. По сути, я хочу извлечь из массива учетных записей: account_number и использовать его в инструкции if в функции Login_screen, чтобы увидеть, действительно ли учетная запись существует. Любая помощь будет оценена по достоинству.
Удивительная благодарность. Теперь, что, если я хотел бы сопоставить его с объектами? Скажем, у меня есть несколько разных объектов с разными номерами учетных записей, и мне нужна учетная запись одного объекта, соответствующая номеру учетной записи пользователя. – JCD
Возможно, вы захотите использовать ['Hash'] (http://ruby-doc.org/core/Hash.html). Номер учетной записи будет ключевым и фактическим значением учетной записи. – Uzbekjon
Я тоже так думаю. Я пошел вперед, сделав хэш, так же, как и раньше, только как получить доступ к хешу внутри массива, в частности: значение account_number? – JCD