조회 수 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 7447 1
172 고급강의실 배틀창 이름 체력 레벨 좌표 변경하기 1 Seed 2014.06.19 1039 0
171 고급강의실 RPG Maker VX ACE - System 데이터 구조 JunkMan 2014.10.15 1063 0
170 중급강의실 VX Ace 픽쳐 메뉴 예제(V1.01) 2 APED 2015.03.18 1070 0
169 고급강의실 RPG Maker VX ACE - Actor 데이터 구조 JunkMan 2014.10.06 1074 0
168 중급강의실 데스티니 패치 연구 1~3 2 1 file 나라뜨 2012.05.05 1138 0
167 고급강의실 뮤's 실전 스크립팅 강좌 [3. 기초 문법 다지기 (하)] 6 마니아 2013.09.16 1147 0
166 고급강의실 아이템 한번에 받기  운 2014.08.24 1155 0
165 고급강의실 [RPGMV Plugin 영상] 무작정 해보기 "심플ATB" 2 천무 2015.12.20 1162 0
164 고급강의실 RPG Maker VX ACE - Skill 데이터 구조. JunkMan 2014.10.14 1163 0
163 중급강의실 RPG XP에서 소를 집적타보자!! -일명 음모XP - (자작 이벤트) 7 BY_RAIN 2014.06.09 1172 0
162 중급강의실 잠와서 실수가 많은 저 게임만들고 싶어요 -1- 데이터베이스-1- 1 시버암 2014.06.14 1181 0
161 고급강의실 그림표시50개끝? 51개 해보자. 2  운 2014.12.01 1195 1
160 중급강의실 맵으로 이동되었을때 자동으로 타이머 실행 3 물판 2014.05.01 1198 1
159 중급강의실 대쉬몬스터만들기 2 만두카레 2014.08.24 1221 0
158 고급강의실 VX ACE XAS로 액션 RPG를 만들어보자! - 2. 적에게 공격을 해보자! 1 데크크래프트 2015.10.05 1227 2
157 중급강의실 스킬 주문서를 만들어봅시다! 2 neopop 2014.03.24 1232 0
156 중급강의실 런타임 안깔고도 실행되게하는법!(윈도7기준) 4 공박사 2014.02.21 1258 0
155 초급강의실 저 같은 사람 생기지 말라고 만드는 XAS(액션알피지[액알])강 좌!(VX ACE용) 약빨은ㄱㅏㅅㅣ 2017.11.28 1259 0
154 고급강의실 게임도중에 익스플로러 뜨게 하고싶나요? 7  운 2014.01.27 1279 0
153 초급강의실 Input 객체의 키코드 확장 8 file 러닝은빛 2016.04.05 1293 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10






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

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