Можно ли в 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
Добавьте ваш ответ

Рекомендуемые курсы

ruby
testing
metaprogramming
ООП
64 часа
Посмотреть
ruby
ORM
rest api
job workers
52 часа
Посмотреть