구 원트노/루비 기초
[루비 기초]2장 연산자와 제어문연산자
연산자란 연산에 있어서 행해지는 동작을 나타내는 기호를 의미합니다.연산의 종류에 따라 산술 연산, 비교 연산, 대입 연산 등이 있습니다.
= : 할당 연산자입니다.
1 2 | a=1 b="likelion" | cs |
=는 일반적으로 우리가 사용하는 "같다"의 의미가 아니라 변수에 값을 할당하는 연산자입니다.
다음으로는 비교 연산자입니다.
프로그래밍에서 비교는 값들이 같은지, 다른지 , 큰지 ,작은 지를 비교하고
그의 답으로 true와 false를 리턴합니다.
== : 2개의 값이 같은지 확인하는 연산자입니다.
1 2 | puts 1==2 #false puts 3==3 #true | cs |
할당 연산자인 = 와 주의해서 사용하셔야 합니다.
!= : 값이 다른지 확인하는 연산자입니다.
1 2 | puts 1!=2 #true puts 3!=3 #false | cs |
!는 부정을 의미합니다. ==의 부정을 의미하며 결과는 반대로 생각하면 됩니다.
>, <, <=, >= : 부등호입니다. 이상, 이하, 미만, 초과를 확인하는 연산자입니다.
1 2 3 4 | puts 1<2 #true puts 3>3 #false puts 4<=4 #true puts 6>=9 #false | cs |
=는 항상 오른쪽에 있다는 부분만 주의해주면 됩니다.
<=> : 복합 연산자입니다.
1 2 3 | puts 1<=>2 #-1 puts 1<=>1 #0 puts 1<=>0 #1 | cs |
좌항이 우항보다 작다면 -1, 같다면 0, 크다면 1을 리턴합니다.
복합 연산자를 사용할 때는 좌항이 자신이라고 생각하고
우항이 더 크다면 손해라서 -1, 같다면 0, 자기가 더 크다면 이득이니 1이라고 이해하면 쉽습니다.
&& : and 연산자입니다.
1 2 3 4 | true && true #true true && false #false false && true #false false && false #false | cs |
논리곱 연산자로 수식의 양 변이 모두 참일 때만 true를 리턴합니다.
|| : or 연산자입니다.
1 2 3 4 | true || true #true true || false #true false || true #true false || false #false | cs |
논리합 연산자로 수식의 한 변만 참이어도 true를 리턴합니다.
! : not 연산자입니다.
1 2 | !true #false !false #true | cs |
논리 부정 연산자로 반대의 결과를 리턴합니다.
제어문
앞에서 배운 연산자를 통해서 프로그램의 흐름을 변경시켜 프로그램을 제어시킵니다.주어진 조건에 따라 다르게 동작된다고 해서 조건문이라고도 합니다.
if 조건문
1 2 3 | if 1 < 2 puts "Likelion" end | cs |
if 뒤에 조건이 나오고 조건이 참이라면 그 다음 구문이 실행됩니다.
참이 아니라면 end 다음 부터 실행됩니다.
else 명령문
1 2 3 4 5 6 | if 3 < 2 puts "Likelion" else puts "Liketiger" end #Liketiger | cs |
else 명령문은 if 명령문의 파트너입니다.
if 수식이 true면 else까지의 코드가 실행되고
false면 else에서 end까지 구문이 실행됩니다.
elsif 명령문
1 2 3 4 5 6 7 8 | if 3 < 2 puts "Likelion" elsif 3 > 2 puts "Liketiger" else puts "Likefish" end #Liketiger 실행됨 | cs |
만약 두 가지 이상의 조건이 있을 경우 elsif를 사용합니다.
elsif를 사용하면 얼마든지 조건을 추가할 수 있습니다.
unless
1 2 3 4 | unless 3 < 2 puts "Likelion" end #Likelion | cs |
수식이 참인지를 확인하는게 아니라
거짓인지를 확인하는 구문입니다.
case-when
1 2 3 4 5 6 7 8 | a=10 case a when 5 then puts "a는 5입니다." when 10 then puts "a는 10입니다." else "a는 5와 10이 아닙니다." end # a는 10입니다. | cs |
좀 더 많은 조건식을 사용할 때 유용한 조건문 방식입니다.
a가(case) 무엇일 때(when) 그러면(then) 다음을 실행하라
이러한 구조라고 생각하면 됩니다.
위의 코드 상에서는 a가 10이므로 puts "a= 10입니다."가 실행이 됩니다.
else는 when 중에 적합한 경우가 없을 때 실행이 됩니다.
궁금하신 점 있으시면 댓글 남겨주세요!!
'구 원트노 > 루비 기초' 카테고리의 다른 글
[루비 기초]5장 해쉬와 심볼 (0) | 2017.01.26 |
---|---|
[루비 기초]4장 배열 (0) | 2017.01.25 |
[루비 기초]3장 기초 반복문 (0) | 2017.01.24 |
[루비 기초]1장 변수,주석,숫자와 문자열,입력 출력 (0) | 2017.01.10 |