Изучение классов, методов, глобальных переменных экземпляра и переменных класса.
Создание базового класса учетной записи, а метод вывода принимает 2 переменные: pin_number, amount. Я не понимаю, почему оба они не возвращают истину.
в методе вывода, если я пойду:
if pin_number == pin
вызывает метод pin, возвращает @pin и утверждение истинно
if pin_number == @pin
оператор возвращает false
Моим первым предположением был закрытый тег, но я удалил его и до сих пор не вернул true.
class Account
attr_reader :name, :balance
def initialize(name, balance=100)
@name = name
@balance = balance
end
public
def withdraw(pin_number, amount)
if pin_number == pin
@balance -= amount
puts "Withdrew #{amount}. New balance: $#{@balance}."
else
puts pin_error
end
end
def display_balance(pin_number)
if pin_number == pin
puts "Balance: $#{@balance}."
else
puts pin_error
end
end
def deposit(amt)
@balance += amt
puts @balance
end
private
def pin
@pin = '1234'
end
def pin_error
"Access denied: incorrect PIN."
end
end
checking_account = Account.new('Jensen', 904)
checking_account.deposit(5)
checking_account.withdraw('1234',900)