Rozpoznawanie tablicy z konstruktora w metodzie

Rozpoznawanie tablicy z konstruktora w metodzie
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam

Jak można sprawić, żeby metoda w klasie rozpoznawała tablicę zadeklarowaną w konstruktorze?

Kopiuj
class MyClass
	def initialize
		arr = []
	end

	def my_func
		arr.push(1)
		puts arr.size
	end
end

obj = MyClass.new
obj.my_func

undefined local variable or method 'arr' for #<MyClass:0x005577772b15a8> (NameError)

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Zadeklaruj ją jako pole.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
3

Rozwijając odp. Patryka: w Ruby zmienne instancji klasy zaczynają się od jednego znaku @

Kopiuj
class MyClass
    def initialize
        @arr = []
    end
 
    def my_func
        @arr.push(1)
        puts @arr.size
    end
end
 
obj = MyClass.new
obj.my_func

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.