알맹이방
Lua_Study(4장) 본문
할당문
1. 다중 할당문 지원
a, b = 10, 2*x
-- a == 10, b == 2*x
ex)
x, y = y, x -- x와 y 값을 swap
-- 대입할 값의 개수와 값을 대입할 변수의 개수가 맞지 않을 경우 맞춰준다.
a, b, c = 0, 1 -- a==0, b==1, c==nil
a, b = a+1, b+1, c+1 -- a==a+1, b==b+1, c+1의 값은 무시됨
2. 지역 변수와 전역 변수
j = 10 -- 전역 변수
local i = 1 -- 지역 변수
local 지역변수는 선언된 스코프 안에서만 쓰임
do end 문으로 지역변수의 스코프를 좁게 조절할 필요가 있을 때 쓰인다.
do
local a2 = 2*a
local a3 = 1
...
end -- a2와 a3는 여기서 사용이 끝
가능한 한 지역 변수를 사용하도록 해서 깨끗한 코드를 유지해야 한다.
3. repeat
repeat-until문은 조건이 참일 때까지 몸체를 반복해서 실행한다. (그래서 한번은 꼭 실행된다) do-while과 반대
repeat
line = io.read()
until line ~=""
print(line)
4. for
수치 for문
for var = exp1, exp2, exp3 do
<something>
end
--var 값을 exp1부터 exp2까지 exp3만큼 증가시키면서 something 실행
for i=1, math.huge do
<something>
end
-- 상한 없이 반복 --> 무조건 break 값을 써줘야 무한반복이 되지 않는다.
일반 for문
for k, v in pairs(t) do print(k,v) end
-- 테이블 t의모든 값을 출력
-- k에는 키가, v에는 값이 들어간다.
5. return
function foo()
return -- 오류
do return end -- 오류 아님
<something>
end
6. goto
goto의 바람직한 사용은 continue나 다단계 break, 지역오류 처리 등을 루아에서 흉내내기 위해 쓰는 경우다.
while <조건> do
::redo::
if <조건> then goto continue
else if <조건> then goto redo
end
<something>
::continue::
end
'Study > Lua' 카테고리의 다른 글
Lua_Study(dofile vs loadfile vs load) (0) | 2022.07.12 |
---|---|
Lua_Study(pairs와 ipairs의 차이점) (0) | 2022.07.12 |
Lua_Study(6장) (0) | 2022.07.11 |
Lua_Study(5장) (0) | 2022.07.11 |
LUA_study(1~3장) (0) | 2022.07.11 |
Comments