티스토리 뷰

Ruby & Rails

Ruby 처음 배우기 : 배열

조묵헌 2018. 5. 10. 17:36

Arrays

배열 (Array)은 루비의 데이터 타입으로, 순서가 있는 값들의 집합입니다. 배열은 대괄호 [] 내부에 값을 나열하여 생성할 수 있으며, 배열 내부의 값은 타입의 제한이 없이 사용할 수 있습니다.

배열내부의 갑은 순서를 가지고 있으며 색인(index)을 이용해 해당하는 갑을 알아낼 수 있습니다. 배열의 값을 알기 위해서는 배열이름에 대괄호와 숫자를 이용해 구하고자 하는 값의 위치를 적어주며, array_name[0]과 같이 사용합니다. index는 0부터 시작하며, 따라서 값이 5개 있을 경우 마지막 항목의 색인은 4입니다.

my_array = [1, 2, 3, 4, 5]

my_array[2]                #=> 3
my_array[-1]            #=> 5

# 배열 쉽게 만들기
my_array = %W[Alice Queen Gryphon]  #=> ["Alice", "Queen", "Gryphon"]
(1..42).to_a  #=> [1, 2, 3, ... 42]

다차원 배열은 배열 내부에 또다른 배열을 사용한 것입니다.

# 다차원 배열 만들기
multi_dimension_array = [[1,2,3], [4,5,6], [7,8,9]]
multi_dimension_array[1][1]            #=> 5

배열에서의 합집합, 교집합, 차집합

루비는 배열간의 비교를 쉽게 할 수 있는 연산자를 제공합니다.

# intersection, union, difference
x = [1,3,5,7,9]
y = [3,7,11,13]
x & y             #==> [3, 7]
x | y            #==> [1, 3, 5, 7, 9, 11, 13]
x - y            #==> [1, 5, 9]

배열에서 사용할 수 있는 메서드

배열은 객체이므로 다양한 상태와 메서드를 가집니다.

my_array = [1, 3, 5, 7, 9]

# 배열의 크기를 리턴
my_array.size  #=> 5

# .reverse 배열의 순서 뒤집기.
# .reverse! 를 사용할 경우 my_array 의 값이 바로 변경됩니다.
my_array.reverse  #=> [9, 7, 5, 3, 1]

# array 내부의 값 확인해보기
my_array.inspect  #=> "[1, 3, 5, 7, 9]"

정렬 sorting

배열 내부의 값을 정렬하기 위해서는 sort 메서드를 사용합니다.

my_array = [7, 42, 5, 2, 3]

# sort
my_array.sort  #=> [2, 3, 5, 7, 42]

범위 사용하기

Range 객체 형식을 이용하면 특정 숫자 사이의 값을 손쉽게 배열로 만들 수 있습니다.

(1..10)  # 1 ~ 10 숫자를 가지는 Range 객체가 생성됩니다.
(1...10)  # 10을 제외한 1 ~ 9 숫자를 가지는 Range 객체가 생성됩니다.

# Range 객체의 처음 값을 알아내기 위한 begin 메서드
(1..10).begin  #=> 1

# Range 객체가 특정 값을 가지고 있는지 알아내기 위한 include? 메서드
(1..10).include?(11)  #=> false
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함