/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/ruby/ruby-511-102-008/main.rb
48 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
class BankAccount attr_reader :account_number def initialize(account_number, initial_balance) @account_number = account_number @balance = initial_balance @pin_code = generate_pin end public def deposit(amount) @balance += amount record_transaction(:deposit, amount) end def withdraw(amount, pin) if verify_pin(pin) && @balance >= amount @balance -= amount record_transaction(:withdrawal, amount) true else false end end protected def verify_pin(pin) @pin_code == pin end private def generate_pin rand(1000..9999) end def record_transaction(type, amount) puts "#{type.capitalize} of #{amount} at #{Time.now}" end end account = BankAccount.new("ACC123", 1000) account.deposit(500) # Работает account.withdraw(200, 1234) # Работает # account.verify_pin(1234) # Ошибка — метод защищенный # account.generate_pin # Ошибка — метод приватный