본문 바로가기
기타/멋쟁이사자처럼

[ruby] 루비 기초편 - 변수, 연산자

by jinbro 2017. 2. 7.

[특징]

1) 루비의 특징은 변수명 = 값으로 변수 선언을 할 때 별도의 변수 타입을 지정하지않고 리터럴로 값을 대입함
2) 세미콜론없이 띄어쓰기와 개행으로 구분함

[변수 선언] 
1) 변수명 = 값  : 일반적인 값 선언(문자열, 문자, 정수, 소수점 등이 있음) 
2) 변수명 = [1, 2, 3, 4, 5]  : 배열 선언
3) 변수명 = { key => value } : 해시 선언

문자열, 배열, 해시는 따로 따로 포스팅을 할 것

[변수 범위]

 변수종류

(임의로 변수명은 var로)

명칭

특징 

var

지역변수

- 어떤 특정 동작 내부에서만 사용되는 변수

- 특정 동작 내부에서만 동작하기때문에 외부에서 참조가 불가능 

 @var

 인스턴스변수

- 한 객체(self 라는 약어로 변수 조회가능)에서만 사용 가능

 @@var

 클래스변수

 - 해당 클래스 파일 내에서 모든 객체가 사용 가능함

(객체에 대해 전혀 감이 안잡힌다면 첫번째 포스팅 참고)

- 사용 전 반드시 초기값을 줘야함(초기화) 

- 내부 메서드를 정의하기 전에 class 선언부 바로 아래에 선언할 것



[연산자 종류] 
1) 정수 연산자 : +, -, *, /, **(지수, 2**3 == 8, a의 b승을 표현할 때 사용), %(나머지값 리턴, a%b - a를 b로 나눴을 때 나오는 나머지 리턴)
2) 대입 연산자 : =
3) 비교 연산자 : ==, !=, >=, <=, >, < 
=> 왼쪽부터 서로 같을 때 true, 서로 다를 때 true, 이상/이하, 초과/미만 
4) 논리 연산자 : &&, ||
5) 복합 연산자 : +=, -=, *=, /=
6) 복합 비교연산자 : <=> 
=> 베열, sort 함수와 함께 씀, 인자로 두 값을 뽑아내고 두 값을 <=> 비교해서 앞 뒤를 정함 / array.sort! {|first, second| first <=> second}

7) 조건부 대입연산자 : ||= 
=> 값이 할당되지 않은 변수에게만 값을 할당함, 빈 문자열이라도 값이 할당된 것임, nil인 상태와 빈 문자열이 할당된 상태는 다름





댓글