SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
RPG Maker와 Ruby로
코딩 시작하기
Day 2
수치(숫자)
• 정수형(Integer)
• 실수형(Float)
3 # 정수
52 # 정수
-99 # 정수
1.5 # 실수(부동 소수점수)
3.0 # 실수(부동 소수점수)
> p 1+1
=> 2
> p 10-3
=> 7
> p 7*5
=> 35
> p 24/4
=> 6
>
우선 순위
• 기본적으로 사칙연산의 우선순위와 같다.
• * 과 / 은 + 과 - 보다 먼저 계산한다.
• 괄호 ( ) 안의 식을 우선 평가한다.
> p 2*2+3*4
=> 16
> p 2*(2+3)*4
=> 40
> p 2*(2+3*4)
=> 28
>
소수점 이하 계산
> p 15/4
=> 3
> p 15.0/4
=> 3.75
> p 15/4.0
=> 3.75
>
나머지 계산
> p 14%4
=> 2
> p 13%4
=> 1
> p 12%4
=> 0
>
제곱 계산
> p 2**4
=> 16
>
변수(variable)
• 변할 수 있는 값에 이름을 붙인 것
• RPG Maker 이벤트 커맨드의 "변수"가 수치값만을 담을 수 있는
것과는 달리, 루비에서의 변수는 여러 가지 형태의 데이터 (수치, 문
자열(String), 커스텀 클래스의 인스턴스 등)를 담을 수 있는 포괄
적인 개념이다. (사실 이벤트 커맨드의 변수는 스크립트의
$game_variables 글로벌 변수 (Game_Variables 클래스의 인
스턴스)에 보관되어 있다는 사실!)
• 로컬 변수
• 인스턴스 변수
• 글로벌 변수
변수의 이름을 지을 때는, 다음 사항에 유의하여야 한다:
1. 맨 처음 문자가 영어 소문자 또는 _ (언더 바)인 것. (사실 한글도 가능
하나 기존 코드와의 일관성을 유지하기 위해 추천하고 싶지는 않다. 쓰
지 말라는 얘기는 아님.)
2. 두번째 이후 문자가 영문자, 숫자 또는 _ (언더 바)인 것.
3. Ruby 예약어* 제외.
* Ruby 예약어: alias, and, begin, break, case, class, def, do, else,
elsif, end, ensure, false, for, if, in, module, next, nil, not, or,
redo, rescue, retry, return, self, super, then, true, undef,
unless, until, when, while, yield
(네이밍에 관해 참고하면 좋은 내용: https://github.com/dalzony/
ruby-style-guide/blob/master/README-koKR.md)
대입과 참조
> x=3
=> 3
> y=4
=> 4
> p x+y
=> 7
>
반드시 선 대입 후 참조
루비에서는 zzz 변수를 참조하기 전에는 zzz 변수에 반드시 무언가를 먼저 대입해야 한다.
(옳지 않은 예)
> p zzz
=> #<NameError: undefined local variable or method `zzz' for
main:Object>
>
(옳은 예)
> zzz=5
=> 5
> p zzz
=> 5
>
자기 대입
> x=1
=> 1
> x+=7
=> 8
> x-=3
=> 5
> x*=2
=> 10
> p x
=> 10
>
/=, %= 도 사용할 수 있음
글로벌 변수
• 로컬 변수와 달리 범위에 구애받지 않고 아무데서나 대입
및 참조가 가능함
• 루비에서는 $global 과 같이 이름 앞에 $ 문자를 붙이면 글
로벌 변수가 된다.
• 주의: 여러 곳에서 같은 변수에 대입/참조하는 경우 자칫 결
과를 예측하기 힘든 코드를 낳을 수 있으므로 되도록이면 사
용을 자제하도록 하자.
문자열(String)
> a="RPG MAKER VX ACE"
=> "RPG MAKER VX ACE"
> p a
=> "RPG MAKER VX ACE”
> a="RPG"
=> "RPG"
> b="MAKER VX ACE"
=> "MAKER VX ACE"
> p a+b
=> "RPGMAKER VX ACE"
> a="RPG MAKER VX ACE"
=> "RPG MAKER VX ACE"
> p a*2
=> "RPG MAKER VX ACERPG MAKER VX ACE"
>
Backslash 기법
문자열 내 Backslash(백 슬래쉬) 기법을 사용하기 위해서는 ' '가
아닌 " " 를 이용하도록 하자.
> a = "RPG MAKER VX ACE"
=> "RPG MAKER VX ACE"
> b = "MADE BY ENTERBRAIN"
=> "MADE BY ENTERBRAIN"
> print a+"n"+b
RPG MAKER VX ACE
MADE BY ENTERBRAIN=> nil
>
식 전개
문자열 내 식 전개를 사용하기 위해서는 ' '가 아닌
" " 를 이용하도록 하자.
> game = "RPG"
=> "RPG"
> p "#{game} MAKER VX ACE"
=> "RPG MAKER VX ACE"
>
Boolean형(true/false)
> p ("hello"=="hello")
=> true
> p ("HELLO"=="hello")
=> false
> p (3+1==3+5)
=> false
> p (3+1==2+2)
=> true
>
조건 분기
• 주어진 조건식의 결과 (참 또는 거짓)에 따라 각각 다른 처리
를 하기 위해 사용된다
• 이벤트 커맨드의 "조건 분기"와 같은 원리
비교 연산자
• 두 식을 비교하여 조건식으로 표현할 때
• == 같다
• != 같지 않다
• < 작다
• > 크다
• <= 작거나 같다
• >= 크거나 같다
= 이 아니다!
혼동 주의할 것.
논리 연산자
• and ("그리고", 양쪽의 식이 둘 다 성립하면 참(true), 그렇지 않으면
거짓(false)이 된다)
• && and와 같은 뜻
• or ("또는", 양쪽의 식 둘 중 하나라도 성립하면 참(true), 그렇지 않
으면(두개의 식 모두 성립하지 않는 경우) 거짓(false)이 된다)
• || or와 같은 뜻
• not ("아니다", 바로 뒤의 식이 성립하지 않으면 참(true), 그렇지 않
으면(성립하면) 거짓(false))
• ! not과 같은 뜻
> p (100>77 and 1+1==2)
true
=> true
> p (100>77 && 1+1==2)
true
=> true
> p (1+1==3 or 2+2==3)
false
=> false
> p (1+1==3 || 2+2==3)
false
=> false
> p (not true)
false
=> false
> p (!true)
false
=> false
조건 분기 - if문
> a=7
=> 7
> if a>=10
.. print "big"
.. elsif a>=5
.. print "medium"
.. else
.. print "small"
.. end
medium
=> nil
if 조건1
실행_내용
elsif 조건2
실행_내용
elsif 조건3
실행_내용
(...)
else
실행_내용
end
조건 분기 - unless
> a=7
=> 7
> unless a>=10
.. print "small"
.. end
small
=> nil
unless 조건
실행_내용
end
조건 분기 - case
> a=0
=> 0
> case a
.. when 0
.. print "good"
.. when 1
.. print "normal"
.. when 2
.. print "bad"
.. end
good
=> nil
case 변수
when 값1
실행_내용
when 값2
실행_내용
when 값3
실행_내용
end
조건 분기 - 삼항연산자(?:)
> a=3
=> 3
> p (a>=10 ? "big" : "small")
"small"
=> "small"
조건식 ? 참일 때의 값 : 거짓일 때의 값
Quiz
• 루비 변수와 조건문을 사용하여 가위 바위 보 게임을 만들
어 보세요.

Weitere ähnliche Inhalte

Was ist angesagt? (7)

C# 기초 문법 part 1
C# 기초 문법 part 1C# 기초 문법 part 1
C# 기초 문법 part 1
 
3 2. if statement
3 2. if statement3 2. if statement
3 2. if statement
 
Javascript 1
Javascript 1Javascript 1
Javascript 1
 
7.읽기 쉽게 흐름제어 만들기
7.읽기 쉽게 흐름제어 만들기7.읽기 쉽게 흐름제어 만들기
7.읽기 쉽게 흐름제어 만들기
 
Hacosa js study 7th
Hacosa js study 7thHacosa js study 7th
Hacosa js study 7th
 
가능한 C++ 스타일의 캐스트를 즐겨 쓰자
가능한 C++ 스타일의 캐스트를 즐겨 쓰자가능한 C++ 스타일의 캐스트를 즐겨 쓰자
가능한 C++ 스타일의 캐스트를 즐겨 쓰자
 
04. 조건문
04. 조건문04. 조건문
04. 조건문
 

Ähnlich wie RPG Maker와 Ruby로 코딩 시작하기 Day 2 (10)

파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자
 
Python datatype
Python datatypePython datatype
Python datatype
 
RPG Maker와 Ruby로 코딩 시작하기 Day 3
RPG Maker와 Ruby로 코딩 시작하기 Day 3RPG Maker와 Ruby로 코딩 시작하기 Day 3
RPG Maker와 Ruby로 코딩 시작하기 Day 3
 
PHP 사용하기
PHP 사용하기PHP 사용하기
PHP 사용하기
 
Ruby - 6th (루비 6장 변수와 식)
Ruby - 6th (루비 6장 변수와 식)Ruby - 6th (루비 6장 변수와 식)
Ruby - 6th (루비 6장 변수와 식)
 
Processing 3rd Class: If & Loop
Processing 3rd Class: If & LoopProcessing 3rd Class: If & Loop
Processing 3rd Class: If & Loop
 
알고리즘
알고리즘알고리즘
알고리즘
 
Let's Go (golang)
Let's Go (golang)Let's Go (golang)
Let's Go (golang)
 
iOS 개발자를 위한 영어로 이름 짓기
iOS 개발자를 위한 영어로 이름 짓기iOS 개발자를 위한 영어로 이름 짓기
iOS 개발자를 위한 영어로 이름 짓기
 

RPG Maker와 Ruby로 코딩 시작하기 Day 2

  • 1. RPG Maker와 Ruby로 코딩 시작하기 Day 2
  • 3. 3 # 정수 52 # 정수 -99 # 정수 1.5 # 실수(부동 소수점수) 3.0 # 실수(부동 소수점수)
  • 4. > p 1+1 => 2 > p 10-3 => 7 > p 7*5 => 35 > p 24/4 => 6 >
  • 5. 우선 순위 • 기본적으로 사칙연산의 우선순위와 같다. • * 과 / 은 + 과 - 보다 먼저 계산한다. • 괄호 ( ) 안의 식을 우선 평가한다.
  • 6. > p 2*2+3*4 => 16 > p 2*(2+3)*4 => 40 > p 2*(2+3*4) => 28 >
  • 7. 소수점 이하 계산 > p 15/4 => 3 > p 15.0/4 => 3.75 > p 15/4.0 => 3.75 >
  • 8. 나머지 계산 > p 14%4 => 2 > p 13%4 => 1 > p 12%4 => 0 >
  • 9. 제곱 계산 > p 2**4 => 16 >
  • 10. 변수(variable) • 변할 수 있는 값에 이름을 붙인 것 • RPG Maker 이벤트 커맨드의 "변수"가 수치값만을 담을 수 있는 것과는 달리, 루비에서의 변수는 여러 가지 형태의 데이터 (수치, 문 자열(String), 커스텀 클래스의 인스턴스 등)를 담을 수 있는 포괄 적인 개념이다. (사실 이벤트 커맨드의 변수는 스크립트의 $game_variables 글로벌 변수 (Game_Variables 클래스의 인 스턴스)에 보관되어 있다는 사실!) • 로컬 변수 • 인스턴스 변수 • 글로벌 변수
  • 11. 변수의 이름을 지을 때는, 다음 사항에 유의하여야 한다: 1. 맨 처음 문자가 영어 소문자 또는 _ (언더 바)인 것. (사실 한글도 가능 하나 기존 코드와의 일관성을 유지하기 위해 추천하고 싶지는 않다. 쓰 지 말라는 얘기는 아님.) 2. 두번째 이후 문자가 영문자, 숫자 또는 _ (언더 바)인 것. 3. Ruby 예약어* 제외. * Ruby 예약어: alias, and, begin, break, case, class, def, do, else, elsif, end, ensure, false, for, if, in, module, next, nil, not, or, redo, rescue, retry, return, self, super, then, true, undef, unless, until, when, while, yield (네이밍에 관해 참고하면 좋은 내용: https://github.com/dalzony/ ruby-style-guide/blob/master/README-koKR.md)
  • 12. 대입과 참조 > x=3 => 3 > y=4 => 4 > p x+y => 7 >
  • 13. 반드시 선 대입 후 참조 루비에서는 zzz 변수를 참조하기 전에는 zzz 변수에 반드시 무언가를 먼저 대입해야 한다. (옳지 않은 예) > p zzz => #<NameError: undefined local variable or method `zzz' for main:Object> > (옳은 예) > zzz=5 => 5 > p zzz => 5 >
  • 14. 자기 대입 > x=1 => 1 > x+=7 => 8 > x-=3 => 5 > x*=2 => 10 > p x => 10 > /=, %= 도 사용할 수 있음
  • 15. 글로벌 변수 • 로컬 변수와 달리 범위에 구애받지 않고 아무데서나 대입 및 참조가 가능함 • 루비에서는 $global 과 같이 이름 앞에 $ 문자를 붙이면 글 로벌 변수가 된다. • 주의: 여러 곳에서 같은 변수에 대입/참조하는 경우 자칫 결 과를 예측하기 힘든 코드를 낳을 수 있으므로 되도록이면 사 용을 자제하도록 하자.
  • 16. 문자열(String) > a="RPG MAKER VX ACE" => "RPG MAKER VX ACE" > p a => "RPG MAKER VX ACE” > a="RPG" => "RPG" > b="MAKER VX ACE" => "MAKER VX ACE" > p a+b => "RPGMAKER VX ACE" > a="RPG MAKER VX ACE" => "RPG MAKER VX ACE" > p a*2 => "RPG MAKER VX ACERPG MAKER VX ACE" >
  • 17. Backslash 기법 문자열 내 Backslash(백 슬래쉬) 기법을 사용하기 위해서는 ' '가 아닌 " " 를 이용하도록 하자. > a = "RPG MAKER VX ACE" => "RPG MAKER VX ACE" > b = "MADE BY ENTERBRAIN" => "MADE BY ENTERBRAIN" > print a+"n"+b RPG MAKER VX ACE MADE BY ENTERBRAIN=> nil >
  • 18. 식 전개 문자열 내 식 전개를 사용하기 위해서는 ' '가 아닌 " " 를 이용하도록 하자. > game = "RPG" => "RPG" > p "#{game} MAKER VX ACE" => "RPG MAKER VX ACE" >
  • 19. Boolean형(true/false) > p ("hello"=="hello") => true > p ("HELLO"=="hello") => false > p (3+1==3+5) => false > p (3+1==2+2) => true >
  • 20. 조건 분기 • 주어진 조건식의 결과 (참 또는 거짓)에 따라 각각 다른 처리 를 하기 위해 사용된다 • 이벤트 커맨드의 "조건 분기"와 같은 원리
  • 21. 비교 연산자 • 두 식을 비교하여 조건식으로 표현할 때 • == 같다 • != 같지 않다 • < 작다 • > 크다 • <= 작거나 같다 • >= 크거나 같다 = 이 아니다! 혼동 주의할 것.
  • 22. 논리 연산자 • and ("그리고", 양쪽의 식이 둘 다 성립하면 참(true), 그렇지 않으면 거짓(false)이 된다) • && and와 같은 뜻 • or ("또는", 양쪽의 식 둘 중 하나라도 성립하면 참(true), 그렇지 않 으면(두개의 식 모두 성립하지 않는 경우) 거짓(false)이 된다) • || or와 같은 뜻 • not ("아니다", 바로 뒤의 식이 성립하지 않으면 참(true), 그렇지 않 으면(성립하면) 거짓(false)) • ! not과 같은 뜻
  • 23. > p (100>77 and 1+1==2) true => true > p (100>77 && 1+1==2) true => true
  • 24. > p (1+1==3 or 2+2==3) false => false > p (1+1==3 || 2+2==3) false => false
  • 25. > p (not true) false => false > p (!true) false => false
  • 26. 조건 분기 - if문 > a=7 => 7 > if a>=10 .. print "big" .. elsif a>=5 .. print "medium" .. else .. print "small" .. end medium => nil if 조건1 실행_내용 elsif 조건2 실행_내용 elsif 조건3 실행_내용 (...) else 실행_내용 end
  • 27. 조건 분기 - unless > a=7 => 7 > unless a>=10 .. print "small" .. end small => nil unless 조건 실행_내용 end
  • 28. 조건 분기 - case > a=0 => 0 > case a .. when 0 .. print "good" .. when 1 .. print "normal" .. when 2 .. print "bad" .. end good => nil case 변수 when 값1 실행_내용 when 값2 실행_내용 when 값3 실행_내용 end
  • 29. 조건 분기 - 삼항연산자(?:) > a=3 => 3 > p (a>=10 ? "big" : "small") "small" => "small" 조건식 ? 참일 때의 값 : 거짓일 때의 값
  • 30. Quiz • 루비 변수와 조건문을 사용하여 가위 바위 보 게임을 만들 어 보세요.