루비 기초 문법(1)
이번 포스팅에서는 루비 기본 문법에 대해서 공부를 해보겠습니다.
가장 기본적인 "Hello World" 를 출력하는 방법부터 알아보겠습니다.
puts 'Hello world'
문자열 표현은 작은 따옴표와 큰 따옴표 모두 가능합니다.
puts, print 메서드를 이용해서 출력하는 것이 가능합니다.
그리고 주석을 다는 법을 알아봅시다.
# 주석! 주석을 생활화합시다.# 을 이용해서 한줄 주석을 달 수 있습니다.
여러 줄 주석은 다음과 같습니다.
=begin 여러 줄 주석입니다 =end
이렇게 =begin ~~~ =end 구문을 이용해서 가능합니다.
그리고 다음은 조건문과 반복문에 대해서 알아보겠습니다.
우선 조건문부터!
다른 언어들과 다른 특징을 위주로 얘기하겠습니다.
루비의 조건문은 철저히 루비의 블럭에 의해 나뉩니다!
if condition Write Code Here! end
이런 식으로 나뉘게 됩니다.
그리고 만약 이것들을 한줄에 적고싶다면...?!
if condition; Write Code Here! end
한줄한줄 구분하기 위해서 여러줄을 입력하고 싶을 때는 ;(세미 콜론)을 찍어줍니다.
그리고 if ~~ elsif ~~ end 구문도 있습니다!
C는 else if, Python은 elif, Ruby는 elsif 입니다 ㅋㅋㅋㅋ
if condition Code elsif condition Code else Code end
이런 식으로 작성 가능합니다.
조건문은 크게 다르지 않습니다.
이제 반복문을 알아보겠습니다.
While문부터 알아보겠습니다!
while은 여느 언어와 다를 바 없습니다.
while condition [ do ] Write Code Here! end
이렇게 구성됩니다.
딱히 다른 언어에 비해 큰 특징은 없다.
그리고 for문입니다.
for var in expression Write Code Here! end
이렇게 생겼습니다만 예를 들어보겠습니다.
for i in 0..4 puts "Coding #{i}" end
이렇게 코드를 작성하게 되면 결과는 다음과 같습니다.
Coding 0
Coding 1
Coding 2
Coding 3
Coding 4
이런 식입니다.
전에 얘기했듯 #{i} 부분은 변수 i를 출력하는 부분이고, 0..4는 0부터 4까지 배열을 만드는 부분입니다.
즉, i에 0~4까지 넣어서 for문을 돌립니다.
또는 루비의 모든 것은 객체가 된다는 속성을 이용해서 다음과 같이도 작성할 수 있습니다.
5.times{ puts 'Hello World!' }
이렇게 쓸수도 있습니다. 이게 간편하게 반복할 때는 아주 간단하게 할 수 있습니다.
루비에서는 모든 것이 객체이기 때문에 5라는 숫자 객체에 times 메서드로 { code } 부분을 5번 반복시킨 것입니다.
이렇게 조건문과 반복문이 끝났습니다.
그럼 이제 입력을 받아봅시다!!
출력을 할때에는 puts를 이용했으니 입력을 받을때에는 gets를 이용하면 됩니다!
하지만 gets 만으로는 부족합니다.
단지 in_str = gets 라고 입력을 한다면 엔터키까지 입력을 받아버려서 원하는 값을 넣어줄 수 없습니다 ㅠㅠ
이 문제는 gets.chomp() 를 쓰면 해결됩니다.
puts 'Input' in_str = gets.chomp puts in_str
이러한 코드가 있다고 칩니다.
그렇다면 이 코드를 실행했을 때는 어떻게 될까요?
실행을 시키고 아무짓도 하지 않는다면
Input
만 나오고 아무것도 안나오고 있을 것입니다.
그렇게 나온다면 Hello! 를 입력하고 엔터를 눌러보면!
Input
Hello! [Enter]
Hello!
이렇게 나올 것입니다.
입력받은 것을 그대로 출력하기 때문에 똑같이 나옵니다.
일단 오늘은 여기까지만 포스팅하고 다음 포스팅에는 클래스, 배열, 해쉬, 블럭 에 대해 알아보겠습니다!
읽어주셔서 감사합니다 :)
'Ruby > Study' 카테고리의 다른 글
루비 기초 문법(3) (0) | 2016.04.21 |
---|---|
루비 기초 문법(2) (0) | 2016.04.18 |
루비 기본 상식! (0) | 2016.03.24 |
Nokogiri, open-uri 사용하기 (0) | 2016.03.24 |
CodeStudy 시작하기 (0) | 2016.01.11 |