작성일 | 2018-04-21 19:39:13 | 조회수 | 442 | 댓글수 | 1 | 추천수 | 0 | 비추천수 | 0 |
![]() |
|
서명도 수정해봅니다
|
관련링크
본문
루아스크립트는 게임 클라이언트 쪽에 많이 쓰이는 언어로서
php보다도 쉽고 표현이 심플하여
UI 구현 등에 많이 쓰이는 것으로 알고 있습니다.
똥나무 UI도 루아스크립트로 되 있는데
애드온 같은 것도 루아스크립트로 짜져있네요
제가 애드온을 하나 맹글어 보고 싶어서
공부를 시작하려고 합니다
3일 정도면 목표에 도달 할 수 있을래나 모르겠네요
길을 잘 찾아가면 좋겠다능
---------------------------
여기는 노트필기예요..
-------------------
- 대소문자 구분합니다
- 줄마침은 ; 인데 써도되고 안써도 동작..
- 한줄 주석은 -- 이고 주석묶음은 --[[ ~ ]] 이렇게 생겼어요. 닫히는 쪽에는 -- 없슴
- 로칼 변수는 local 변수명 = ~ 이렇게 쓰고 전역변수는 변수명 = ~ 이렇게 씀
- 루아는 그냥 문자열이 변수임. 아..이거 헷갈릴 수도 ? ;;
- var = "tete"; var = 2; var ={2,"4r3",3}; 이런식으로 전역 변수 선언됨
- 루아에서 수는 전부 double 형 정수
- 문자열은 '' 랑 "" 둘다 사용
- 여러줄 문자열은 [[ 여러줄의 텍스트 ]] 로 묶음
- var = nil; 정의되지 않은 변수로 만듬.
- 반복문 블록의 시작은 do 끝은 end 로 써준다... php 는 {} 라서 더 간단했는뎅
- if 문 은
if 조건 then
~~
elseif 조건 then
~~
else ~~
end
형식이다.
배열이나 문자열의 길이를 구할 때 보통은 length를 이용하는데 Lua는 #을 이용합니다. (num.length => #num)
같다는 ==
같지않다는~=
문자열 출력은 print('문자열')
문자열 + 문자열 할때는 가운데에 .. 를 찍는다 php는 점 하나였는데 얘는 두개
foo = anUnknownVariable 정의되지 않는 변수를 넣는디
foo = nil 이랑 같은거
boolean 연산에서는 false랑 nil 만 거짓임 0 이랑 "" 도 참
논리연산 특이하네
연산자 우선순위 높은순
^
not # – (부호인 단항연산자)
* / %
+ –
..
> < >= <= ~= == and or <도트 연산자>
a = 10 == 2 -- 같은가?
b = 10 ~= 2 -- 다른가? ~기호가 C언어의 !과 비슷
c = 10 > 2 -- 보다 큰가?
d = 10 < 2 -- 보다 작은가?
e = 10 >= 10 -- 크거나 같은가?
f = 10 <= 2 -- 작거나 같은가?
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
<결과>
false
true
true
false
true
false
a = true -- true 값
b = false -- false 값
c = a and b -- and 연산
d = a or c -- or 연산
e = not a -- not 연산, 부정
f = a and true -- a가 참이면 두번째 인자가 리턴되기에 true
g = 10 and 20 -- 10이 참이기에 두번째 인자 값을 리턴되어 20이 됨 <=== 호오..
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
<결과>
true
false
false
true
false
true
20
다른 언어에서 &&은 둘다 트루일때 참 ||는 둘다 false 이어야 false 가 되는데
and랑 or 는 좀더 찾아보자
for 문도 비슷한데
1에서 100 까지 증가하는 표현
karlSum = 0
for i = 1, 100 do -- 그 범위의 양 끝을 포함합니다.
karlSum = karlSum + i
end
-- "100, 1, -1"를 쓰면 범위를 감소하도록 정할 수 있습니다.
fredSum = 0
for j = 100, 1, -1 do
fredSum = fredSum + j
end
-- 이건 다른데 없는거네
repeat
print('the way of the future')
num = num - 1
until num == 0
-- 반복문은
while num < 50 do
num = num + 1 -- ‘++’ 또는 ’+=’ 연산자는 없습니다.
end
추천 0
비추천

알바님의 댓글
알바 작성일
JavaScript/ActionScript의 경우는 프로퍼티와 메소드에 접근할 때 . 연산자를 이용합니다.
Lua의 경우 프로퍼티는 . 로 접근하지만 메소드는 : 을 이용합니다.
JavaScript
object.translate( 10, 10 );
Lua
object:translate( 10, 10 )