조회 수 2102 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
흔히 배열을 만들때는 이렇게 하죠.

array = []
ary = [1, 2, 3, 10]

하지만 배열도 일종의 클래스라서, 이렇게 만들 수 있습니다.

array = Array.new

그런데 그냥 이렇게만 만들 수 있는걸까요?
절대 아닙니다. Array 클래스의 initialize 함수에는 놀라운 사실이 숨어있습니다.

ary = Array.new(1, 10)

이게 뭘까요? 잘 이해가 안가실겁니다.

p ary # => [10]

[10]이라는 배열이 작성되었네요!
그렇다면 이렇게 하면 어떻게 될까요?

ary = Array.new(3, 5)
p ary # => [5, 5, 5]

이제 이해하셨을겁니다.

array = Array.new(갯수, 값)

이렇게 만드시면 갯수만큼 값이 배열 안에 들어가게됩니다. (값은 모두 똑같습니다.)
이것은 for 루프를 없애주기 때문에 똑같은 값을 여러번 만들 때는 정말 유용한 방법입니다.
하지만 결정적인 단점이 있죠. 모두 똑같은 값이기 때문에 하나를 변경하면 모두 변경됩니다.
예제를 보여드리겠습니다.

ary = Array.new(3, 'A')
ary[0] += '2'
p ary # => ['A2', 'A2', 'A2']

하지만 숫자는 다릅니다.

ary = Array(Array.new(3, 1)
ary[0] += 10
p ary # => [11, 1, 1]

숫자는 사칙연산을 하면 또다른 값을 만들어 돌려주기 때문에 이런 일이 일어나지 않습니다.
비록 복제하지 않으면 숫자에서만 가능하다는 점이 있지만, 그래도 알아두면 유용하지 않을까요?
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 초급강의실 게임제작강좌 A-Z 색인 (2016.1.24 ver) 2 file 천무 2016.01.12 7428 1
192 중급강의실 캐릭터레이더로 통맵만들기. 3 file 천무 2006.06.05 12309 23
191 중급강의실 쯔꾸르 게임을 네코플레이어에 최적화 시켜보자! # 해상도 편 22 file 양갱님 2016.04.17 35774 10
190 초급강의실 찰드 제작강의 "2" -툴을 처음 접하면- 4 ◈ÐÆЯΚ◈찰드 2008.09.29 5971 7
189 중급강의실 액알강의[1] - 베틀러 비밀소년 2006.08.07 8463 7
188 중급강의실 [초보]누구나 할수있는 맵효과! 18 GM봉래산 2013.09.30 3756 5
187 초급강의실 [동영상] 게임을만들자 (1편) - 시작해봅시다- 6 천무 2016.01.11 5706 5
186 초급강의실 찰드 제작강의 "1" -겜제작을 시작할때- 5 ◈ÐÆЯΚ◈찰드 2008.08.28 6917 5
185 중급강의실 찰드 도트강의 "1" -케릭터 레이더의 이해 (1/2)- 6 ◈ÐÆЯΚ◈찰드 2009.08.16 6201 4
184 중급강의실 액알강의[3] - 주석을 통한 설정 1 file 비밀소년 2006.07.21 5332 4
183 고급강의실 PIXI Filter 총정리 (PIXI 2.2.9) 4 file 러닝은빛 2016.01.18 18686 3
182 중급강의실 예시를 통한 레이어의 사용 3 맵만드는중.. 2014.02.14 1465 3
181 중급강의실 아오오니처럼 따라오는 이벤트 만들기 5 빙냥이 2013.12.11 4360 3
180 초급강의실 [동영상] RPG Maker MV 튜토리얼 강좌 16화 아이템 응용 5 file 작긔 2015.12.25 2621 3
179 중급강의실 액알강의[2] - 일어서기위해 비밀소년 2006.07.30 5183 3
178 고급강의실 [RMMV] 크로노 엔진(Chrono Engine) 플러그인 사용법 1 러닝은빛 2017.07.16 3609 2
177 초급강의실 변수를 이용한 식물 재배 3 file MoonJ 2017.05.28 3091 2
176 중급강의실 네코플에서 VXA 선택지 잘리는 버그 해결하는법 file 심심치 2017.06.22 940 2
175 초급강의실 누구나 쉽게 따라할 수 있는 액션/슈팅 이벤트 만들기! 4 file 이제리아 2017.01.26 4099 2
174 초급강의실 게임의 퀼리티를 높이자! 3편-맵배치 2 ifeve 2016.04.08 4989 2
173 고급강의실 [MV플러그인] Armor Scaling 강의 1 file 백난화백 2016.02.13 3607 2
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)