Можно ли в Ruby использовать переменные инстанса внутри модуля?
Ответы
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