/
Вопросы и ответы
/
Ruby
/

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

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

4 года назад

Nikolai Gagarinov

Ответы

0

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

4 года назад

Nikolai Gagarinov