반응형

어느 컴퓨터 언어 에서든 주석(comment) 문에 대한 규정이 있습니다.

루아 역시 주석문에 대한 규정이 있고 역시 다른 언어와 마찬가지로 2가지가 있습니다.

 

1. 한줄 주석

한줄 주석 (엄밀히 말하면 한줄 주석이라기 보다는 특정 위치부터 해당 라인의 끝까지만) 은

-- 를 사용 합니다. - 기호를 2개 넣으면 됩니다.

 

예)

-- 안녕하세요, 이라인은 주석으로 처리 됩니다.

 

위와 같이 -- 가 나타나면 이 이후 해당 라인의 끝까지 모두 주석으로 처리 됩니다.

 

i = 10 -- i 변수에 10 지정

 

위와 같이 수행문의 뒤에 주석으로 해당 수행문의 설명을 넣을 수도 있겠죠....

 

2. 구간 (block) 주석

프로그래밍을 하다보면 구간(block) 주석이 필요합니다.

즉 한줄로 설명하기 힘들 경우, 여러줄을 넣어 주어야 할 경우가 있거나, 또는 특정한 수행 구간을 임시로

막아, 처리하지 않도록 하는 역할로도 사용할 수 있겠죠.

 

루아의 다줄 주석은

--[[    주석 구간의 시작 으로 사용

여기는 모두 주석....

....

]] 주석 구간의 끝으로  사용

루아코드를 작성하는 경험이 있으신분들은 흔히 구간 주석을 다음과 같이 사용합니다.

 

--[[

 

--]]

 

위와 같이 할 경우 해당 주석 구간을 쉽게 풀어 버릴거나 다시 넣거나를 할 수 있기 때문입니다.

 

---[[

 

--]]

 

위와같이 주석 구간의 시작부분에 - 를 하나 더 넣으면 결국 -- 이후의 것은 한줄 주석으로 처리되어 구간주석

시작 기능을 잃어 버립니다.

또한 기존에 구간 주석의 끝으로 사용한 --]] 은 결국 구간의 시작이 없기 때문에 -- 가 한줄 주석으로 처리 되어서

주석으로 처리할 구간을 풀어주게 되는 것 입니다.

 

반대로 시작부분의 --- 에서 - 를 하나 빼면 다시 구간이 주석으로 처리 되겠죠..

 

이러한 이유에서 많은 루아 코드작성자들이

--[[

--]]

 

를 구간 주석으로 사용하는 것 입니다.

 

예: 이건 제스크립트입니다.(Cheat Engine의 lua스크립트입니다.)


local form = createForm(true);

checkBoxes = createCheckBox(form);

control_setCaption(checkBoxes,"TEST");

control_setPosition(checkBoxes,10,20)

reinitializeSymbolhandler()

autoAssemble(xxx)

debugProcess(3)

--

xxx=[[

registersymbol(r2)

registersymbol(r2value)

alloc(r2,128)

alloc(r2value,4)


r2:

fild dword ptr [r2value]

jmp 004EDE19

r2value:

dd #255

]]


--

function TEST()

if checkbox_getState(checkBoxes)== 1 then

debug_setBreakpoint("Freestyle.exe+EDE16")

print("디버그 걸림")

else

debug_removeBreakpoint("Freestyle.exe+EDE16")

print("디버그 풀림")

end

end

--

function debugger_onBreakpoint()

  EIP=getAddress("r2")

  debug_continueFromBreakpoint(co_run)

return 1

end

--

--Lua강좌

checkbox_onChange(checkBoxes,TEST)


위에 보시는거와 동일하게 --는 지금 주석문이지만 줄을 나누기위해서 일부로 넣은것입니다.



+ Recent posts