class C
def init(v)
@value = v # 인스턴스변수
end
def show()
p @value
end
end
c1 = C.new(10)
# p c1.value >> output error
# c1.value = 20 >> output error
c1.show() # 10 출력.
c1 = C.new(10)
메소드로 취급해서 에러남.
메소드 안이 아니라 바깥에서 c1에서 직접 value를 쓰려고 했으니 / 메소드 외부에서 인스턴스 접근은 루비에서는 허용 안함. 따라서 undefined 결과.
(파이썬은 인스턴스 변수 접근 허용)
c1.show()
show 메소드안에서 인스턴스 변수 접근 허용되므로 값 출력 가능.
class C def initialize(v) @value = v end def show() p @value end def getValue() return @value end def setValue(v) @value = v end end c1 = C.new(10) # p c1.value p c1.getValue() # c1.value = 20 c1.setValue(20) p c1.getValue()