1 )
print(type("Hello world"))  --> 출력값 : string
print(type(10.4*3))  --> 출력값 : number
print(type(print))  --> 출력값 : function
print(type(type))  --> 출력값 : function
print(type(true))  --> 출력값 : boolean
print(type(nil))  --> 출력값 : nil
print(type(type(X)))  --> 출력값 : string
2 )
print(type(a))  --> 출력값 : nil
a = 10
print(type(a))  --> 출력값 : number
a = "a string!"
print(type(a))  --> 출력값 : string
a = print
a(type(a))   <--> print(type(a))  --> 출력값 : function


1. nil
변수는 기본적으로 nil 담고 있고 사용할수 없는값, 정상이 아닌값을 nil이라고 한다

2. 부울형(굳이 설명해야 하나;)
참과 거짓 2가지만 가지는 변수
 : 거짓을 나타내는 값을 제외한 모든값
거짓 : false, nil

3. number
number double 부동 소수점 수치를 뜻한다.

4. string
C언어의 char개념이 없다
"(큰따옴표)로 묶어도 문자열
'(작은따옴표) 묶어도 문자열이다
[[ ]] 사용해서도 문자열을 표시할수 있다.
)
page = [[
<html>
<head>
<title>An HTML Page</title>  --[===[]===]
</head>
<body>
 <a href="http://www.lua.org">Lua</a>
</body>
</html>
]]
--[=[ 이걸 사용해 문자열 사이에 주석을 달수 있다던데 나는 왜 안되는지 잘 모르겠다.(5.1버전부터 지원한다는데..현재 5.1버전)

print("hello" + 1)  이건 오류!
print("hello" .. 1) 정상 작동
.. 값들 사이에 양옆으로 공백이 있어야 한다
출력값 : hello1

문자열을 숫자로 바꾸는 함수 tonumber
a = 10
b = "10"
if a == tonumber(b) then
    print("a와 b는 같다");
else
    print("a와 b는 다르다");
end

5. table (배열과 비슷)
0~10100까지 값을 table 담는 예제)
a = {}
for i=0, 100 do
 a[i] = {}
 for j=0, 100 do
  a[i][j] = i*100+j
 end
end

for i=0, 100 do
 for j=0, 100 do
  print(a[i][j])
 end
end

[]값에 문자열도 가능
a = {}
a["x"] = 10
print(a["x"])

C언어에 포인터와 비슷한 기능
a = {}
a[1] = 0
print(a[1])    -->출력값 : 0
b = a
b[1] = 2
print(b[1])    -->출력값 : 2
print(a[1])    -->출력값 : 2

이런 표현도 가능하다
a = { }
x = "y"
a[x] = 10
print(a[x])    -->출력값 : 10
print(a.x)     -->출력값 : nil
print(a.y)     -->출력값 : 10
 코드을 보면 알수 있듯이 x = "y"일때
a[x]  a["y"] a.y 같다.
a.y 부분이  오묘 한데 a["y"]라고 생각하면된다

 한가지 기능 # 배열의 마지막 색인값을 반환한다.!
라고 되어 있다
for i=1, #a do
    print(a[i])
end
이런식으로 사용할수 있다.
그리고
a = {}
a[1] = 0
a[2] = 0
a[3] = 0
a[4] = 0
print(#a)   --> 출력값:4
a[2] = nil
a[4] = nil
print(#a)   --> 출력값:1
for i=1, #a do
 print(a[i])   --> 출력값:0 (1 출력)
end
위와 같이 테스트 해본결과
table 사이사이를 nil 체운다면 오작동의 위험이 있으므로
 마지막꺼부터 지우도록 하자

신고

'Programming > Lua' 카테고리의 다른 글

[Lua] 1부(언어) 5장. 함수 개요  (3) 2011.07.25
[Lua] 1부(언어) 4장. 문장  (0) 2011.07.21
[Lua] 1부(언어) 3장. 수식  (0) 2011.07.17
[Lua] 1부(언어) 2장. 루아 타입과 값  (0) 2011.07.16
[Lua] 1부(언어) 1장. 시작하기  (0) 2011.07.16
by Ergate 2011.07.16 18:29