프로그래밍/Ruby

다시 시작 하는 Ruby 이야기 - 배열

seungdols 2015. 6. 24. 00:27


승돌즈 프로그래밍




오늘의 주제


ruby에서는 배열을 어떻게 사용해야 하는가 ???


도대체 모르겠다. 이녀석 Ruby에서의 배열 어찌 사용하나요???


배열은 중요하다. 모든 언어에서 배열은 기본적으로 제공을 한다.


배열이란 무엇인가 ? 기본적으로 쉽게 설명하면 {같은 놈들이 여러개} 있는 공간 (Space)를 말한다.


프로그램의 저장소는 무조건 변수!!

변수는 다시 공간!!이라고 생각하면 쉽다.


배열 어떻게 써먹나!


- 배열의 생성

irb(main):023:0> arr = Array.new()
=> []
irb(main):024:0> arr.push(1)
=> [1]
irb(main):025:0> ar = Array.new(3, 'seungdols company')
=> ["seungdols company", "seungdols company", "seungdols company"]
irb(main):026:0> arr_num = Array(1..5)
=> [1, 2, 3, 4, 5]
irb(main):027:0> ^C
irb(main):027:0>

seungdols@seungdols-cell:~$ irb
irb(main):001:0> arrs = [1,2,3,4]
=> [1, 2, 3, 4]
irb(main):002:0> arrs.push(5)
=> [1, 2, 3, 4, 5]

생성 후에 push를 이용하여 배열 내에 데이터를 추가하고 있다.


- 배열을 순서대로 꺼내보자!

irb(main):007:0> arrs = [4,4,5,6]
=> [4, 4, 5, 6]
irb(main):017:0> for idx in 0 ...arrs.size
irb(main):018:1> puts arrs[idx]
irb(main):019:1> end
4
4
5
6
=> 0...4
irb(main):020:0> arrs.each { |a| puts a }
4
4
5
6
=> [4, 4, 5, 6]

두 가지의 반복이 존재한다. 하나는 for문이고 하나는 내장 반복자인 each를 사용한 것이다.

|a|는 바로 배열에 저장된 방마다의 데이터를 의미한다. 그래서 출력하면 0번 방부터 끝까지 공간에 있는 데이터를 가져온다.


- 배열의 데이터 마다 데이터를 더하자!

irb(main):022:0> arrs.map { |idx| idx + 1 }
=> [5, 5, 6, 7]

map의 경우에는 좀 특수한데 기존의 공간에 있는 데이터에 다른 데이터를 추가하거나 더하는 역할을 하게 된다.


쉽게 이해하자. 배열은 그냥 같은 놈들이 있는 호텔이다.

그런데 방 마다 번호가 있으며, 순차적이다!

그리고 특징 하나는 방은 0번 방부터 시작한다.(거의 모든 언어가 배열의 인덱스(방번호)는 0부터 시작하나 특수언어의 경우 음수값 혹은 1부터 시작하는 경우가 존재합니다.)

반응형