조회 수 2129 추천 수 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]

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

  1. 게임제작강좌 A-Z 색인 (2016.1.24 ver)

    Date2016.01.12 Category초급강의실 By천무 Views7877 Votes1
    read more
  2. [RMMV] 크로노 엔진(Chrono Engine) 플러그인 사용법

    Date2017.07.16 Category고급강의실 By러닝은빛 Views3874 Votes2
    Read More
  3. [MV플러그인] Armor Scaling 강의

    Date2016.02.13 Category고급강의실 By백난화백 Views3688 Votes2
    Read More
  4. [MV플러그인] Action Sequence 강의

    Date2016.02.12 Category고급강의실 By백난화백 Views5772 Votes1
    Read More
  5. [동영상] 스크립트 나도좀 잘해보자 -1-

    Date2016.02.04 Category고급강의실 By천무 Views1791 Votes1
    Read More
  6. PIXI Filter 총정리 (PIXI 2.2.9)

    Date2016.01.18 Category고급강의실 By러닝은빛 Views18772 Votes3
    Read More
  7. [RGSS2 강좌] 기초편 2. 변수와 상수

    Date2016.01.10 Category고급강의실 By천무 Views697 Votes0
    Read More
  8. [RGSS2 강좌] 기초편 1. 소개

    Date2016.01.10 Category고급강의실 By천무 Views1110 Votes0
    Read More
  9. Rpg Maker MV 함수 리스트(공식포럼)

    Date2016.01.10 Category고급강의실 Byplam Views1473 Votes1
    Read More
  10. 타이틀에 동영상을 넣는 플러그인 사용법

    Date2016.01.08 Category고급강의실 By러닝은빛 Views2768 Votes1
    Read More
  11. RPG Maker MV 메모리 누수 문제 해결법

    Date2016.01.07 Category고급강의실 By러닝은빛 Views4914 Votes1
    Read More
  12. XP to MV 컨버터 사용법

    Date2015.12.28 Category고급강의실 By러닝은빛 Views2926 Votes0
    Read More
  13. 기본 게임 폰트를 다른 폰트로 바꾸기

    Date2015.12.21 Category고급강의실 By러닝은빛 Views7675 Votes0
    Read More
  14. 처음부터 전체화면으로 시작하기

    Date2015.12.21 Category고급강의실 By러닝은빛 Views4479 Votes0
    Read More
  15. [RPG MV] 타이틀 메뉴 일부 없애기

    Date2015.12.20 Category고급강의실 By박야옹 Views3953 Votes1
    Read More
  16. [RPGMV Plugin 영상] 무작정 해보기 "Gameus' Quest System"

    Date2015.12.20 Category고급강의실 By천무 Views1944 Votes0
    Read More
  17. [RPGMV Plugin 영상] 무작정 해보기 "심플ATB"

    Date2015.12.20 Category고급강의실 By천무 Views1230 Votes0
    Read More
  18. VX Ace to MV 컨버터 사용법 ( .rvdata2 → .json )

    Date2015.12.14 Category고급강의실 By러닝은빛 Views7495 Votes0
    Read More
  19. [RPGMV Plugin 영상] 한국어 조사처리, 해상도변경 플러그인!!

    Date2015.12.12 Category고급강의실 By천무 Views1498 Votes0
    Read More
  20. [소공지] 플러그인 무작정 해드린다 진행해봅니다.

    Date2015.12.09 Category고급강의실 By천무 Views733 Votes0
    Read More
  21. [RPGMV Plugin 영상] 한글이름 입력, 전투속도증가 플러그인!!

    Date2015.12.09 Category고급강의실 By천무 Views2056 Votes0
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4


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

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