반응형
변수와 상수
루비는 타입을 선언하지 않는다.
변수는 변하는 값
상수는 변하지 않는 값임
변수는 스코프가 중요한데
스코프에 따라서 지역변수, 전역변수, 인스턴스 변수, 클래스 변수 등으로 불린다.
지역변수
지역변수는 해당 지역에서만 참조 가능함
함수 내부면 함수 내부에서만
클래스 메소드 내부면 클래스 메소드 내부에서만
근데 루비에선 어떠려나??
var = 'range of variables is local Area'
x = 2
x += 2
puts('지역 변수 ', x)
전역변수
전역변수는 어디서 선언하던, 어느곳에서나 불러 올 수 있는 변수
루비에선 $를 붙여서 선언한다.
$var = 'range of variables is All Area'
x = 2
$allArea = '전체 영역 변수'
def HelloWord
puts '전체 변수', $allArea
puts '지역 변수', x
end
HelloWord()
오류
x는 지역변수 이기 때문에 함수 내부에서 호출이 불가능 한 것을 볼 수 있다.
전역변수는 잘 된다.
주의점
전역변수는 메모리를 항상 차지하고 삭제되지 않기 때문에 남발하면 안된다.
인스턴스 변수
클래스 내에 있는 인스턴스에서 불러올 수 있다.
@var = 'range of variables by Instance Area'
클래스 변수
@@var = 'range of variables is Class Area'
class Clock
@@hello = 1
def get_time
puts @times
puts @@hello
end
def set_time
@times = '20220820'
puts @@hello
end
end
'Ruby > Ruby 기초' 카테고리의 다른 글
기본 페이지 구성하기 (0) | 2022.08.26 |
---|---|
ruby on rails의 특징 (0) | 2022.08.26 |
연산자 (0) | 2022.08.23 |
Ruby 데이터 타입 (0) | 2022.08.20 |
Ruby를 시작하기전에.. (0) | 2022.08.19 |