티스토리 뷰

Numbers

루비에는 숫자를 표현하기 위해 정수와 실수를 사용할 수 있습니다.

정수는 소수점이 없는 수로 Integer라고 부르며 실수는 부동소수점이 있는 숫자로 Float 이라고 부릅니다. 정수를 변수에 할당하는 방법은 간단하며, 만약 큰 숫자일 경우 읽기 편하게 하기 위해 세자리마다 _를 넣어서 읽기 쉽게 표현할 수 있습니다.

# 정수
my_num = 100
large_num = 1_000_000
negative = -100

# 실수
price = 9.99

Strings

String은 문자열을 의미합니다. 하나하나의 글자를 character라고 부르며 이 문자들이 모여 글자를 이루므로 string이라는 표현을 사용합니다.

아래 예제는 "I love Ruby" 라는 문자열을 my_string 이라는 변수에 대입한 것으로, 다양한 문자열 조작은 프로그래밍에서 가장 많이 쓰이는 작업입니다.

my_string = "I love Ruby"


문자열 조작

my_string[0]            #=> I

# 문자열 길이 리턴
my_string.length        #=> 11
"foobar".empty?                #=> false

# 문자열 리버스
my_string.reverse        #=> "ybuR evol I"

# 문자열 대문자화, 소문자화, 캐피탈라이즈
my_string.upcase
#=> "I LOVE RUBY"
my_string.downcase
#=> "i love ruby"
my_string.capitalize
#=> "I love ruby"


루비의 메서드 명명 규칙

# 메서드 이름 끝에 !를 사용하면 변수 자체에 메서드의 결과를 바로 적용한다.
first_name.capitalize!


문자열 삽입 - String Interpolation

#{variable_name} 표기법을 사용해 문자열 중간에 값을 대입할 수 있습니다.

name = "Ruby"
puts "My name is #{name}!"
#==> "My name is Ruby!"

# 작은따옴표 (')로 문자열을 감쌀 경우 사용 불가
puts 'My name is #{name}!'
#==> 'My name is \#{name}!'

# 변수에 할당된 값이 string이 아니더라도 string으로 변환할 필요가 없음
age = 26
"I am #{age} years old."


백슬래시 기법

백슬래시 표기 의미
\t 탭 tab
\n 줄바꿈 line feed LF
\r 캐리지 리턴 carriage return CR
\f 페이지 바꿈
\b 백스페이스
\a
\e 이스케이프
\s 공백
\\ 백슬래시


퍼센티지 기법

%() 를 이용해 문자열을 간단하게 생성하거나, 배열, 정규식등을 간단하게 표현할 수 있습니다.

name = 'Alice'

# 식전개와 백슬래시 기법 무효
%q(My name is #{name})        #=> My name is \#{name}"

# 식전개와 백슬래시 기법 유효
%(My name is #{name})        #=> "My name is Alice"
%Q(My name is #{name})        #=> "My name is Alice"

# 배열 간단하게 기술하기
%w(Alcie Rabbit Cat)    #=> ["Alcie", "Rabbit", "Cat"]
%i(red green blue)        #=> [:red, :green, :blue]

# 정규 표현식
%r(/usr/bin)        #=> /\/usr\/bin/


형변환

루비에서는 다른 자료형의 더하기 연산시 에러를 발생시킵니다.

따라서 서로 다른 자료형 간 연산을 위해서는 형변환이 필요한데, .to_x 형식의 메서드를 통해서 쉽게 형변환이 가능합니다.

ruby = "I love Ruby"
ruby + 3
#=> TypeError: no implicit conversion of Integer into String

# .to_i 정수로 변환(Integer)
"3".to_i
#=> 3

# .to_f 부동소수로 변환(Float)
"3.33".to_f
#=> 3.33

# .to_s 문자열로 변환
100.to_s
#=> "100"


Boolean

참과 거짓을 표현하기 위해 true 와 false를 사용합니다.

speak = false


Nil

nil은 존재하지 않는존재하지 않는 값을 의미합니다. false는 거짓, 즉 not true를 의미하며, nil은 존재하지 않음, 즉 not exist를 의미합니다.

# .nil? - 호출 된 객체가 nil이면 true를 반환하고 그렇지 않으면 false를 반환.
age = 26
nil_var = nil

age.nil?
# ==> false
nil_var.nil?
# ==> true


댓글
댓글쓰기 폼