/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/ruby/ruby-511-102-013/main.rb
68 строк
2 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
class PaymentMethod def process_payment(amount) "Обработка платежа #{amount} рублей" end def refund(amount) "Возврат #{amount} рублей" end end class CreditCard < PaymentMethod def initialize(card_number) @card_number = card_number end def process_payment(amount) "Обработка платежа #{amount} рублей с карты #{@card_number}" end def refund(amount) "Возврат #{amount} рублей на карту #{@card_number}" end end class PayPal < PaymentMethod def initialize(email) @email = email end def process_payment(amount) "Обработка платежа #{amount} рублей через PayPal аккаунт #{@email}" end def refund(amount) "Возврат #{amount} рублей на аккаунт #{@email}" end end class Cash < PaymentMethod def process_payment(amount) "Принят наличный платеж #{amount} рублей" end def refund(amount) "Выдан наличный возврат #{amount} рублей" end end def complete_purchase(payment_method, amount) puts payment_method.process_payment(amount) puts payment_method.refund(amount * 0.1) end credit_card = CreditCard.new("4111-1111-1111-1111") paypal = PayPal.new("user@example.com") cash = Cash.new complete_purchase(credit_card, 1000) # Обработка платежа 1000 рублей с карты 4111-1111-1111-1111 # Возврат 100.0 рублей на карту 4111-1111-1111-1111 complete_purchase(paypal, 1500) # Обработка платежа 1500 рублей через PayPal аккаунт user@example.com # Возврат 150.0 рублей на аккаунт user@example.com complete_purchase(cash, 500) # Принят наличный платеж 500 рублей # Выдан наличный возврат 50.0 рублей