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