Поддержим ваш первый шаг:
-10% на профессии и специальные условия до 31 мая

Можно ли в Ruby использовать переменные инстанса внутри модуля?

Аватар пользователя Nikolai Gagarinov
Nikolai Gagarinov
14 марта 2022

Ruby позволяет использовать переменну инстанса внутри модуля, для этого необходимо использовать метод, который будет содержать внутри себя переменную инстанса

module Stacklike
  def stack
    @stack ||= []
  end

  def push(item)
    stack.push(item)
  end

  def pop
    stack.pop
  end
end

class Stack
  include Stacklike
end

stack = Stack.new

stack.push(1) # [1]
stack.push(2) # [2]
stack.push(3) # [3]
stack.pop # 3
0 0
Пройдите курс по программированию бесплатно
Поможем с выбором
Если у вас есть вопросы о формате или вы не знаете, что выбрать, оставьте свой номер — мы позвоним и ответим на все вопросы
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»