Advanced Classroom
2013.09.17 09:42

나뚜루's - 배열, 이렇게도 만들 수 있다.

Views 2101 Votes 0 Comment 2
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Update Delete
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Update Delete
흔히 배열을 만들때는 이렇게 하죠.

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
No. Category Subject Author Date Views Votes
Notice Beginner Classroom 게임제작강좌 A-Z 색인 (2016.1.24 ver) 2 file 천무 2016.01.12 7382 1
52 Intermediate Classroom 아오오니처럼 따라오는 이벤트 만들기 5 빙냥이 2013.12.11 4357 3
51 Intermediate Classroom 발소리 강좌 ( + 주석포함 ) 7 빙냥이 2013.12.10 1695 1
50 Intermediate Classroom 아이템을 새로 만들어내고싶어요! 2 하프 2013.12.01 1405 0
49 Advanced Classroom 죽노의 RGSS 이것저것(1) 6 죽은노예 2013.10.23 2129 1
48 Intermediate Classroom 외부 캐릭터 그래픽과 타일셋 그래픽 게임 내에 적용하기 Xanadu 2013.10.20 2246 0
47 Intermediate Classroom [초보]누구나 할수있는 맵효과! 18 GM봉래산 2013.09.30 3752 5
46 Advanced Classroom [투달이의 아무짝에도 쓸모없는 강좌] Scene_title을 조작해 사람들을 농락해보자! 6 투달 2013.09.30 2123 0
45 Intermediate Classroom RPG Maker XP 스위치조작하기 13  운 2013.09.26 2690 0
44 Intermediate Classroom RPG Maker XP 암호화 하는법 13  운 2013.09.25 1968 0
43 Intermediate Classroom 게임제작에 대한 모든것! 게임제작지침서 강좌링크입니다. (1~18강) 2 마둠 2013.09.23 2053 0
42 Intermediate Classroom RPGXP의 데미지 계산식 (Part 4. 힐과 크리티컬) 5 마니아 2013.09.17 2183 2
41 Intermediate Classroom RPGXP의 데미지 계산식 (Part 3. 보정편) 4 마니아 2013.09.17 1992 2
40 Intermediate Classroom RPGXP의 데미지 계산식 (Part 2. 스킬편) 4 마니아 2013.09.17 3759 2
39 Intermediate Classroom RPGXP의 데미지 계산식 (Part 1. 기본공격편) 7 마니아 2013.09.17 4535 1
38 Advanced Classroom 나뚜루's - Sprite 클래스 파헤치기 [4] 4 마니아 2013.09.17 2040 1
37 Advanced Classroom 나뚜루's - Sprite 클래스 파헤치기 [3] 2 마니아 2013.09.17 1503 0
36 Advanced Classroom 나뚜루's - Sprite 클래스 파헤치기 [2] 2 마니아 2013.09.17 1781 0
35 Advanced Classroom 나뚜루's - Sprite 클래스 파헤치기 [1] 3 마니아 2013.09.17 2086 0
» Advanced Classroom 나뚜루's - 배열, 이렇게도 만들 수 있다. 2 마니아 2013.09.17 2101 0
33 Advanced Classroom 게임 시작 전에만 로고를 띄우게 하는 팁 3 마니아 2013.09.17 2933 1
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 Next
/ 10






[privacy statements] | [Terms of Use] | [Contact us] | [Sponsorship] | [Indiside History]

Copyright © 1999 - 2016 INdiSide.com/CL3D Co., Ltd. All Rights Reserved.
Owner : Chunmu(Jiseon Lee) | kernys(Wonbae Kim) | Sasinji(Byungkook Kim)