Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

LUA 2

From ZeroWiki
Revision as of 15:27, 26 February 2012 by imported>fnwinter

<pre>

  1. 자료형

이번에는 루아의 자료형에 대해서 글을 써 보겠습니다. 루아의 자료형은 많지 않습니다. 기본적인 자료형은 숫자, 문자열, nil(Null) , boolean 이 있습니다. 간단하게 예를 살펴보면 type 연산자로 자료형의 이름을 알 수 있습니다.

print(type("TEST")) --- 문자열

string

print(type(1)) --- 숫자

number

print(type(true)) --- 논리 자료형

boolean

print(type(nil)) --- NULL 값

nil

위와 같은 명령어로 자료형의 type을 알 수 있습니다. 그리고 추가적으로 table이라는 자료형이 있습니다. table은 배열로 볼 수도 있지만 루아에서는 좀 더 다른 의미를 갖습니다. table은 나중에 따로 설명하도록 하겠습니다. 우선 오늘은 맛보기로 table을 만들어만 보겠습니다.

print(type({}))

table

t = {"a","b","c"}
print(t[1])

a

이제 각각의 자료형은 좀 더 자세히 살펴 보겠습니다. 우선 number 부터 살펴 보겠습니다. number는 정수형, 실수형,지수형이 있을 수 있습니다.

print(1) --- 상수

1

print(0xa) --- 16진수

10

print(1.1) --- 실수

1.1

print(1e2) --- 지수형 1 * 10^2

100

print(1/0)

1.#INF

boolean 논리 자료형은 true/false 와 같이 비교 연산자를 통해 얻은 값을 말합니다.

print( 1 > 2 )

false

nill 은 단순히 자료형일 뿐만 아니라 instance화 되지 않은 모든 객체 형태를 말합니다.

print( test )

nill

  1. 연산자

자료형을 배웠으니 이제 자료형을 연산하기 위한 연산자들을 살펴 보겠습니다. 우선 간단한 대입부터 보겠습니다.

sum = 10 + 10 --- 기본적인 number 대입
print(sum)

20

루아는 특이하게 복수 대입을 사용할 수 있습니다. 예를 들면 첫번째 변수에는 '=' 이후 첫번째 값을 두번째 변수에는 두번째 값을 대입하는 방식으로 사용할 수 있습니다.

a,b = 10,20
print (a)

10

print(b)

20

이제는 기본 사칙 연산과 비교 연산자를 사용하는 예제를 보겠습니다.

a = 1 + 2 / 3 * 4
print (a)

3.6666666666667

print (a>3) ---- a는 3보다 크다.

true

print (a>3 and a<4) --- a는 3보다 크고 4보다 작다.

true

print (a==3) --- a는 3과 같다.

false

print (a~=3) --- a는 3과 같지 않다.

true

지금까지 수치 연산자를 살펴보았는데, 이제는 문자열 연산자를 살펴보겠습니다. 우선 루아에서는 .. (마침표 두개) 를 통해 문자열을 붙일 수 있습니다. 이 연산자는 좀 특이하죠.

print("a".."b")

ab

다음에는 인용문 출력하기 '' '' 를 통해서 multi line의 문자열을 출력할 수 있습니다.

print([[hello
> world
> !!]] )

hello world !

문자열 비교 연산자, 문자열도 알파벳 순으로 비교, 크고 작고를 알 수 있습니다.

A, B = "abc","abd"
print (A>B)

false

문자열의 길이 알아보는 연산자

string_length = "123456"
print(#string_length)

6

마지막으로 루아의 자동 형 변환 기능을 보여드리겠습니다.

fake_two = "2" --- 여기서는 문자열
print( -fake_two + 2 ) --- -fake_two는 앞에 '-'로 인해 음수가 되고 여기에 2를 더해서 0이 출력 됨

0

  1. 정리

지금 자료형과 연산자를 살펴 보았습니다. 마지막으로 오늘 배운 것 이외에 추가로 주석처리 하는 방법을 살펴 보겠습니다. 앞서 예제에서 '--' 를 하고 코드를 설명했는데 '--' 가 주석을 시작하는 코드입니다. 한 줄 이상의 주석 처리는 "--" 와 "--"를 통해서 처리할 수 있습니다.

--- 나는 주석
--[[ 나는

주석 --]] </pre>