고급강의실
2013.09.16 06:28

RGSS 스크립트 강좌 입문 2 - 수

조회 수 2256 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

스크립트 강좌 두번째 시간입니다. 
지난시간에는 루비스크립트의 가장 기초가 되는 개념들을 알아봤습니다. 
강좌의 입문편에서는 이러한 기초개념과 주로쓰이는 명령어등과 기능을 알아보고, 간단한 구조를 다룰까합니다.

그럼 먼저 식과 수치에 대해 알아보겠습니다.

1. 식

루비에서는 제어구조나 변수, 리터럴을 "식"이라고 합니다. 어떤 변수의 내용이 있다면 그것이 식이 되는것이지요.
이런 식을 놓고 조합하는것이 하나의 프로그램이 됩니다.  수학에서와 같이 식은 괄호 () 로 묶을수있습니다.
수학에서는 다양한 괄호를 사용하지만 스크립트에서는 같은 기호로 여러개를 만들수있습니다.

2. 정수와 부동소수점수

루비에서 이용할수있는 수치에는 "정수"와 실수인 "부동 소수점 수"를 사용할수있는데, 부동 소수점 수 라는것은 컴퓨터에서 사용하는 숫자 가운데에 소수점이 있는 숫자를 말합니다. 예를 들면 아래와 같습니다.

5      정수
-5     정수
5.0   부동소수점수
5.1   부동소수점수

부동소수점수는 매우 중요합니다. 이유는 루비에서 연산을 할때 정수와 정수의 연산에는 꼭 정수가 나오지만,  부동소수점수인 값을 산출하고싶을때는 꼭 부동소수점수를 넣어주어야 합니다. 
초등학교 산수에 보면 나누기 처음배울때 정수값만 구하고 나머지를 따로 구하는데 그거랑 같은맥락 이라고 하면되겠습니다.
예를 들면 아래와 같습니다.

10 / 6 = 1

10 / 6.0 = 1.666666....66667
10.0 / 6 = 1.666666....66667
10.0 / 6.0 = 1.666666....66667

사실 루비에서 = 은 '같다'라는 의미가 아니고 "~은 ~이다." 같이 정의해주는 명령어 입니다. 편의상 여기서만 같다라는 의미로 사용하도록 하겠습니다.
부동소수점은 아마 게임제작중에 거의 등장할일이 없을겁니다. 워낙에 게임상에서는 정수를 주로 사용하다 보니 쓸일은 많지않군요.


3. 연산자식

루비에서 사용할수있는 연산자식는 다음과같습니다.

       ::
       []
       **
       -(단항)  +(단항)  !   ~
       *  /  %
       +  -
       << >>
       &
       |  ^
       > >=  < <=
       <=> ==  === ! =  =~  ! ~
       &&
       ||
       ..  ...
       ? :(조건 연산자)
       =(+=, -= ... )
       not
      and or

연산자식에는 순서가 있는데 위에서 부터 우선순위가 높습니다.
간단하게 예를들면 

8 * 3 & 4   ==   (8 * 3 )& 4
8 & 3 * 4   ==   8 & (3 * 4)

이런식으로  연산자 * 은 연산자 & 보다 우선순위가 높습니다. 
덧셈, 뺄셈 보다 곱셈, 나눗셈이 먼저 계산이 되는것이랑 비슷합니다.

특이하게 루비에서 대부분의 연산자는 하나의 메서드로 되어있는데, 어떤 연산자는 불러내어 다시 재정의할수가 있습니다. 
개인적인 생각이지만 되도록이면 연산자를 만든다던지 하는건 좋은생각 같진 않습니다.

4. 계산

기본적인 계산 (덧셈 뺄셈)은 초등학생도 알고있기에 몇개 특별한것만 찍어서 설명하겠습니다.

- 소수점이하의 계산

위에서도 말했듯이 정수를 정수로 나누면 나머지는 잘라버리기 때문에 답이 정수로 나오게 됩니다. 그래서 답을 재대로 내고싶다면 
답이 아닌 계산하는수 중 하나라도 부동소수점수를 사용해야 합니다.

- 나머지의 계산

계속 언급되는 문제지만 루비에서는 나눗셈의 나머지를 연산자 % 로 구할수있습니다. 

14 % 4  == 2
13 % 4  == 1
12 % 4  == 0

- 제곱의 계산

제곱은 ** 을 사용합니다.

2 ** 4  == 16

한글로 표현하면 "2의 4제곱승" 인것이지요.


이번에는 계산과 연산자식을 살펴봤는데요.
원래는 각각 연산자식의 메서드를 살펴봐야 되지만 사실상 아무것도 모르는분들도 있어 
머리만 아프게 할수도 있기에 차후에 필요하면 살펴보도록 하겠습니다. 
다음시간엔 메서드를 조금 만지작 거려봅시다.

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 초급강의실 게임제작강좌 A-Z 색인 (2016.1.24 ver) 2 file 천무 2016.01.12 7382 1
192 중급강의실 한글암호 만들기 5 치와도라 2014.04.26 1856 0
191 중급강의실 픽쳐 서서히 등장! 픽쳐 서서히 퇴장! 4 치와도라 2015.04.29 965 2
190 고급강의실 타이틀에 동영상을 넣는 플러그인 사용법 5 file 러닝은빛 2016.01.08 2588 1
189 초급강의실 커먼이벤트로 은행시스템 만들기(23:00 그림 링크 재수정) 3 file 이니군 2017.08.28 1474 0
188 중급강의실 캐릭터레이더로 통맵만들기. 3 file 천무 2006.06.05 12300 23
187 고급강의실 캐릭터그래픽 픽셀 3  운 2014.07.19 3621 0
186 고급강의실 카카오소프트 님의 RGSS2 스크립트 강좌 2 Omegaroid 2014.03.27 1667 0
185 중급강의실 초보의 게임제작 도전기! #0 [RPG 만들기?] 치와도라 2015.05.05 1359 1
184 중급강의실 초보의 게임제작 도전기 #1-1[데이터 베이스 둘러보기] 2 치와도라 2015.05.05 1406 2
183 초급강의실 초보가쓰는 초보용 Rpg게임 만들기 (xp) 6 Marine 2016.03.13 6168 0
182 고급강의실 처음부터 전체화면으로 시작하기 3 file 러닝은빛 2015.12.21 4119 0
181 중급강의실 찰드 제작강의 "3" -툴의 완벽한 이해를 위한 그날까지 No.1 1 1 file 찰드 2011.09.02 3058 1
180 초급강의실 찰드 제작강의 "2" -툴을 처음 접하면- 4 ◈ÐÆЯΚ◈찰드 2008.09.29 5967 7
179 초급강의실 찰드 제작강의 "1" -겜제작을 시작할때- 5 ◈ÐÆЯΚ◈찰드 2008.08.28 6910 5
178 중급강의실 찰드 도트강의 "1" -케릭터 레이더의 이해 (1/2)- 6 ◈ÐÆЯΚ◈찰드 2009.08.16 6195 4
177 중급강의실 쯔꾸르 게임을 네코플레이어에 최적화 시켜보자! # 해상도 편 22 file 양갱님 2016.04.17 35729 10
176 고급강의실 죽노의 RGSS 이것저것(1) 6 죽은노예 2013.10.23 2129 1
175 중급강의실 저 게임만들고 싶어요!! -0- 기초 4 시버암 2014.06.13 1725 0
174 초급강의실 저 같은 사람 생기지 말라고 만드는 XAS(액션알피지[액알])강 좌!(VX ACE용) 약빨은ㄱㅏㅅㅣ 2017.11.28 1228 0
173 중급강의실 잠와서 실수가 많은 저 게임만들고 싶어요 -1- 데이터베이스-1- 1 시버암 2014.06.14 1166 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(김원배) | 사신지(김병국)