루아 편집하기
최신판 | 당신의 편집 | ||
75번째 줄: | 75번째 줄: | ||
===자료형=== | ===자료형=== | ||
− | :{|class=wikitable width= | + | :{|class=wikitable width=800 |
|+<ref name="연산자"></ref> | |+<ref name="연산자"></ref> | ||
!align=center|자료형 | !align=center|자료형 | ||
107번째 줄: | 107번째 줄: | ||
|- | |- | ||
|align=center|string | |align=center|string | ||
− | |align=center|"또는 ' 으로 감싼다. 긴 문자열은 [[...]]을 | + | |align=center|"또는 ' 으로 감싼다. 긴 문자열은 [[...]]을 사용하다. string은 편집이 되지 않으며 오로지 새로운 문자열을 생성한다. string은 보조 라이브러리를 가지고 있다. |
|align=left| | |align=left| | ||
str = "white" | str = "white" | ||
133번째 줄: | 133번째 줄: | ||
|- | |- | ||
|align=center|userdata | |align=center|userdata | ||
− | |align=center|루아에서 배열을 표시하는 방법으로 루아에서 | + | |align=center|루아에서 배열을 표시하는 방법으로 루아에서 정의되지 않은 로우 메모리를 생성한다. |
|align=left| | |align=left| | ||
void *lua_newuserdata (lua_State *L, size_t size)를 사용한다.<br> | void *lua_newuserdata (lua_State *L, size_t size)를 사용한다.<br> | ||
146번째 줄: | 146번째 줄: | ||
|- | |- | ||
|align=center|table | |align=center|table | ||
− | |align=center|루아의 테이블은 복합 자료형이면서도 중요한 역할을 한다. 키 밸류가 아닌 배열이나 | + | |align=center|루아의 테이블은 복합 자료형이면서도 중요한 역할을 한다. 키 밸류가 아닌 배열이나 객체 프로그래밍을 할 때 필요하기 때문이다. 전체적으로 {}로 감싸며 key는 []로 감싼 형태이다. 배열도 테이블이다. 키 밸류 형식이 아닌 요소가 한 줄로 배치된 모습이다. 배열의 처음 시작 인덱스는 1부터 시작하며 0 인덱스를 사용하려면 사용자가 직접 만들어 주어야 한다. |
|align=left| | |align=left| | ||
COLOR = {Red = "rgb(255,0,0)",Green = "rgb(0,255,0)",Yellow = "rgb(0,0,255)"}<br> | COLOR = {Red = "rgb(255,0,0)",Green = "rgb(0,255,0)",Yellow = "rgb(0,0,255)"}<br> | ||
157번째 줄: | 157번째 줄: | ||
|} | |} | ||
− | + | ====우선순위==== | |
− | *'''^''' : 오른쪽 | + | 연산자 : 우선순위를 나타낸 거다. |
− | * '''-, not, #''' : - | + | *'''^''' : 오른쪽 우선으로 하는 연산자 |
− | * '''*, /, %''' : - | + | * '''-, not, #''' :‘-’는 단항연산자(부호)를 의미한다. |
− | *'''..''' : 오른쪽 | + | * '''*, /, %''' : ‘-’는 이항연산자(빼기 연산)를 의미한다. |
+ | *'''+, -, .., >, <, >=, <=, ==, ~=, and, or''' : 오른쪽 우선으로 하는 연산자이다.<ref name="연산자"></ref> | ||
===제어문=== | ===제어문=== | ||
− | *'''[[if]]''' : 조건부 실행을 위한 | + | *'''[[if]]''' : 조건부 실행을 위한 if 문은 기본구조는 "if 조건 then 실행문 end"의 구조이다. |
− | *'''[[switch]]''' : 루아 스크립트에는 switch 문이 없음으로 | + | *'''[[switch]]''' : 루아 스크립트에는 switch 문이 없음으로 switch 문 대신에 연속 비교문을 쓴다. |
− | *'''[[While]]''' : 조건이 참이면 무한 반복을 하는 | + | *'''[[While]]''' : 조건이 참이면 무한 반복을 하는 while 문은 C나 C++처럼 먼저 조건을 검사하고 조건이 참이면 do에서 end까지의 실행문을 실행한다. 조건이 거짓이 되거나 break 문에의 탈출할 수 있다. |
− | *'''[[repeat]]''', ''' | + | *'''[[repeat]]''', '''until''' : 조건이 참이 될 때까지 반복해서 실행하는 반복문은 반복에서 until까지 조건이 거짓이면 무한 반복 실행한다. 와일 이나 포문과는 다르게 반복에서 until까지 무조건 한번은 실행한다. C나 C++에서 "두 실행문 While(조건)"과 유사하다. 조건이 참이 되거나 break 문에 의해 탈출할 수 있다. |
− | *'''[[for]]''' : | + | *'''[[for]]''' : 포문은 수치 포문과 일반 포문의 두 가지 사용 방법으로 사용하며 수치 포문은 시작조건에서 종료 조건이 될 때까지 step 만큼씩 더하면서 do에서 end까지 실행한다. 제어변수는 반복문 안에서만 사용 가능하며 반복문을 벗어나면 인식되지 않는다. break에 의해 탈출 할 수 있다. 일반 포문은 반복자함수에서 반환된 모든 값을 실행한다. 배열의 값을 모두 실행하기 위해서 반복자 함수 ipairs 가 제공되고 반복될 때마다 색인과 값을 얻는다. "for i, v in ipairs(a) do 실행문 end"에서 a는 배열 이름 이고 i는 색인, v는 값이다. |
*'''[[break]]''' : while, for, 반복문을 탈출하는 데 사용한다. | *'''[[break]]''' : while, for, 반복문을 탈출하는 데 사용한다. | ||
*'''[[return]]''' : 값을 되돌리거나 함수를 종료할 때 사용한다.<ref name="연산자"></ref> | *'''[[return]]''' : 값을 되돌리거나 함수를 종료할 때 사용한다.<ref name="연산자"></ref> | ||
− | === | + | ===정의=== |
− | + | 변수는 변하는 값을 말하며 루아에서는 다음과 같이 사용한다. | |
+ | |||
+ | ====설명==== | ||
+ | *변수를 미리 선언하지 않고도 사용할 수 있다. (변수 선언해도 실제로 사용하는 부분에서 할당) | ||
+ | *변수의 형식을 지정할 필요가 없다. (변수의 형식 지정 불가능, 루아가 알아서 지정) | ||
+ | *변수와 변수의 형식에 관리에 유의해야 한다.<ref name="정의"> | ||
악마, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=side1024&logNo=100102380482 Lua - 03. 변수(Variables)]〉, 《네이버 블로그》, 2010-03-24 </ref> | 악마, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=side1024&logNo=100102380482 Lua - 03. 변수(Variables)]〉, 《네이버 블로그》, 2010-03-24 </ref> | ||
+ | |||
+ | ====전역==== | ||
+ | *기본적으로 모든 루아 변수는 본질적으로 전역 변수 : 스크립트 전체에서 접근할 수 있고 끝날 때까지 유지한다.<ref name="정의"></ref> | ||
+ | |||
+ | ====지역==== | ||
+ | *가능한 곳에서는 항상 지역 변수를 사용한다. : 로컬(local) 키워드를 이용하여 지역 변수를 선언한다.<ref name="정의"></ref> | ||
{{각주}} | {{각주}} |