티스토리 뷰
매직코멘트
루비에서 한글등의 문자 인코딩을 위해서는 매직 코멘트라 불리는 방법으로 인코딩 타입을 지정해줄 필요가 있었습니다. 하지만 Ruby 2.0 이후 버전에서는 기본 인코딩타입이 UTF-8으로 지정되었으므로 필요없어 졌습니다.
# encoding: utf-8
변수 (Variables)
루비에서 변수는 첫 글자를 소문자 또는 _로 시작해야 합니다. 첫글자로 숫자가 올 수는 없으며, 에러가 발생합니다.
루비에서 두글자 이상의 변수명을 사용할 경우 birth_date
와 같이 _
(Underscore)를 사용해 단어를 연결합니다. birthDate
와 같이 사용해도 문제는 없으나 루비의 관례상 _ 를 사용합니다.
변수는 기본적으로 지역변수로 선언되며, 스코프는 선언한 장소에 따라 블록, 메소드 내부, 클래스 내부, 모듈 내부, 톱 레벨 스코프를 가집니다.
top level 이란? 변수가 블록, 메서드, 클래스 모듈 등에 속하지 않을 경우 모두 톱레벨에 속하게 됩니다. 즉, 전역 변수가 되는것이 아니라, 톱레벨 지역 변수로 자동 할당됩니다.
name = "Jon Snow"
birth_date = 284
is_male = true
_another_name = "Spoiler"
# 불가능
# 2name = "2"
전역 변수를 선언하기 위해서는 변수의 첫 글자를 $로 시작해야 합니다.
# 전역변수
$foobar = "foobar"
상수는 영문 대문자를 사용해서 선언하면 상수로 인식하게 됩니다. 단, 상수는 메소드 내부에 정의할 수는 없습니다.
# 상수
FOO_BAR = "bar"
루비에서는 많은 경우에 심볼을 활용하며, 심볼은 변하지 않는 객체로 선언할 수 있습니다.
# 심볼
:my_symbol = "심볼"
다중 대입을 통하여 간편하게 값을 대입할 수 있고, 변경이 가능합니다. 하지만 자주 사용되지는 않습니다.
# 다중 대입
a, b = 1, 2
a #=> 1
b #=> 2
a, b = b, a
입력과 출력 (Inputs, Outputs)
루비에서 커맨드라인에 내용을 출력하기 위해서는 print 혹은 puts를 사용합니다. print를 사용할 경우 문장의 끝에 줄바꿈이 없으며, puts는 줄바꿈을 포함하여 문장을 출력합니다.
# 출력 - 줄바꿈 없음
print "Hello Ruby"
# 출력 - 줄바꿈 포함
puts "Ruby on rails"
커맨드라인을 통해 사용자로부터 입력을 받기 위해서는 gets 메서드를 사용합니다. gets 메서드를 그대로 사용할 경우 입력값에 줄바꿈이 포함되어 있습니다. 대부분의 경우 입력값에는 줄바꿈문자가 포함되지 않기를 바라는데, 이럴 경우 gets.chomp 를 사용합니다.
# 입력 - 줄바꿈 포함
gets
# 입력 - 줄바꿈 없음
user_input = gets.chomp
주석 (Comments)
주석은, 프로그램 내에서 실행되거나 해석되지 않는 문장으로, 주로 프로그램에 대한 설명을 남기거나 실행시키고 싶지 않은 명령을 주석 처리하기 위해 사용합니다.
루비는 문장앞에 #
를 사용해 주석 처리를 할 수 있으며, 긴 문장일 경우 =begin
과 =end
를 사용해 begin과 end사이의 문장을 주석처리 할 수 있습니다.
# Single line Comment
=begin
Multi
Line
Comments
=end
'Ruby & Rails' 카테고리의 다른 글
Ruby 처음 배우기 : 연산자 (0) | 2018.05.09 |
---|---|
Ruby 처음 배우기 : 데이터타입 (1) | 2018.05.09 |
Ruby 처음 배우기 : 실행 및 REPL (0) | 2018.05.04 |
Ruby 처음 배우기 : 리눅스에 Ruby 설치하기 (0) | 2018.05.04 |
Ruby 처음 배우기 : 맥에 Ruby 설치하기 (1) | 2018.05.04 |
- Total
- Today
- Yesterday
- 픽픽
- 몽고DB
- 루비
- javascript
- 다음팟플레이어
- quirky
- 마인드맵
- 반디집
- GitHub
- 윈도우 10
- 캡쳐프로그램
- 데이터베이스
- Nas
- 깃
- db
- 샤오미
- 압축프로그램
- 마크다운
- Git
- 방수방진
- xmind
- MonGo
- 아이폰 7
- mongoDB
- 자바스크립트
- 갤럭시 노트 7
- MySQL
- js
- database
- ruby
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |