2016-11-21 3 views
1

Что я могу сделать, чтобы распознать массив, объявленный в конструкторе методом в этом классе?Признание массива конструктора

я получил ошибку:

undefined local variable or method 'myArray'

class Calc 
    def initialize() 
     myArray = [] 
    end 

    def add4ToArray() 
     myArray.push(4) 
     puts myArray.size 
    end 
end 

obj1 = Calc.new 
obj1.add4ToArray() 
+0

Общим соглашением является использование полного имени snake_case для имен методов. Вызовите print/puts и т. Д. Во время вызова метода, не помещайте их в определение метода. Не нужно добавлять '()' к имени метода, если ваш метод не определяет какие-либо параметры. –

ответ

3

Вы должны объявить его как переменную экземпляра в отличие от локальной переменной. В конструкторе используйте @myarray = [].

+2

Вы имеете в виду '@myarray = []'? –

+0

Да! Спасибо за уловку –

Смежные вопросы