자본 엄.슴.
Ruby 배열 본문
배열 기본
배열은 여러 값들을 한 변수에 묶은 것이다. Array.new를 이용해서 선언할 수 있다.
array = Array.new 3
p array
결과
[nil, nil, nil]
참고로 p 함수는 객체의 inspect를 출력한다. puts 함수는 to_s, 즉 객체를 문자열로 바꾸어서 출력하지만 inspect는 객체의 상태를 변환한다. new 뒤에는 숫자를 인자로 넣을 수 있는데 배열의 크기를 뜻한다. 그 크기만큼 nil로 채워지게 된다. 값을 넣은 상태로 배열을 선언하고 싶으면 대괄호를 사용하면 된다.
array = [1, 2, 3]
p array
결과
[1, 2, 3]
배열의 특정 원소에 접근하고 싶을 때는 변수이름[숫자] 형식으로 사용하면 된다. 참고로 배열의 원소는 1부터가 아니라 0부터 시작한다.
array = [1, 2, 3]
puts array[0]
결과
1
문자열과 심볼 배열
문자열과 심볼 모두 이전에 했던 것처럼 Array.new나 대괄호를 이용해서 선언할 수 있다. 그런데 좀 더 편리하게 퍼센트문자열을 이용해서 배열을 만들 수 있다. 문자열의 배열은 %w를 이용해서 만들 수 있고, 심볼의 배열은 %i를 이용해서 만들 수 있다.
string_array = %w(one two three)
symbol_array = %i(one two three)
p string_array
p symbol_array
결과
["one", "two", "three"]
[:one, :two, :three]
배열 메서드
루비에는 배열을 다룰 수 있는 유용한 메서드들이 많이 있다.
array1 = [1,2,3,4]
array2 = [3,4,5,6]
p array1.first #배열의 첫 번째 값 반환
p array1.first 2 #배열의 처음부터 2개 반환
p array1.last #배열의 마지막 값 반환
p array1.last 2 #배열의 마지막부터 2개 반환
p array1.push 5 #배열의 마지막에 추가
p array1
p array1.pop #배열의 마지막을 제거하고 반환
p array1
p array1.unshift 0 #배열의 앞에 추가
p array1
p array1.shift #배열의 처음을 제거하고 반환
p array1
p array1+array2 #두 배열을 합쳐서 반환
p array1-array2 #일치하는 배열 제거해서 반환
p array1*3 #배열을 숫자만큼 반복해서 반환
결과
1
[1, 2]
4
[3, 4]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
5
[1, 2, 3, 4]
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4]
0
[1, 2, 3, 4]
[1, 2, 3, 4, 3, 4, 5, 6]
[1, 2]
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
이 외에도 배열에 대한 메서드는 많다.
'Ruby' 카테고리의 다른 글
| Ruby 심볼 (0) | 2019.02.08 |
|---|---|
| Ruby 문자열 (0) | 2019.02.06 |
| Ruby 객체(2) (0) | 2019.02.02 |
| Ruby 모듈 (0) | 2019.01.31 |
| Ruby 싱글톤 메서드 (0) | 2019.01.30 |
Comments