간단한 배열 병합 메서드 을 작성하려고했지만 인스턴스 변수를 사용하여 작동하지 않습니다. 클래스 변수 만 사용하여 작동합니다. 아무도 그 이유를 말할 수 있습니까? 인스턴스 변수를 사용하여 작업을 수행하는 방법에 대해 설명합니다.배열 병합이 작동하지 않습니다 (인스턴스 변수 nil)
class Array
@y = []
def flatten_array
self.each do |x|
if x.class.to_s != 'Array'
@y << x
else
x.flatten_array
end
end
return @y
end
end
a = [1,2,3,4,5]
b = [6,7,8]
c = [9,10]
a1 = [12,13,a,b,c]
puts a1.inspect
b1 = a1.flatten_array
puts b1.inspect
궁금한 점 : 당신은 무엇을 성취하려고합니까? 이미'Array # flatten'이 있습니다 ... –
왜 로컬 변수 대신에 인스턴스 변수를 사용하고 싶습니까? –
제목에 "인스턴스"의 오타가 있습니다. –