코드에 몇 가지 문제가 있습니다.
우선, True
과 False
은 모두 의미가없는 이름입니다. 이전에 무언가를 지정하지 않은 경우 모두 nil
입니다. 따라서 Yes
및 No
변수는 모두 nil
으로 설정됩니다. 이것은 true와 false가 루아에 존재하지 않기 때문에 발생하는 것은 아닙니다. 단지 소문자입니다 : true
및 false
. Yes
및 No
변수를 만드는 것은 중복되어 읽기가 어렵습니다. true
및 false
을 직접 사용하십시오.
둘째, 웹 사이트에서 다운로드 한 표준 lua를 사용하는 경우 sleep
은 유효한 기능이 아닙니다 (Roblox 버전의 Lua에 있거나 이미 들었지만). True
과 False
처럼 대개 잠자기는 nil
이므로 전화를 걸어도 작동하지 않습니다. 이 프로그램을 실행하는 방식에 따라 Mac의 경우 os.execute("sleep " .. number_of_seconds)
을, PC를 사용하는 경우 os.execute("timeout /t " .. number_of_seconds)
을 사용하고 싶을 것입니다. 당신은 당신이 겪고있는 특정 오류로 function
function my_sleep_mac(number_of_seconds)
os.execute("sleep " .. number_of_seconds)
end
function my_sleep_PC(number_of_seconds)
os.execute("timeout /t " .. number_of_seconds)
end
에 다음을 마무리 할 수 있습니다, 나는 그것이 프로그램의 종료와 같은 end
문으로 인해 생각합니다. 루아의 end
은 여러분이 생각하는대로 정확하게 수행하지 못합니다 - 프로그램의 끝을 지정하지는 않습니다. 루아는 파일에 남아있는 텍스트가 있는지보기 만하면 프로그램이 끝나는 곳을 파악할 수 있습니다. 그것은 당신이 코드 끝의 다양한 서브 블록은, IE 예를 들어 등 if
문, function
의,의 가지, 당신은
print("checking x...")
if x == 2 then
print("x is 2")
print("Isn't it awesome that x is 2?")
print("x was checked")
루아가 가지고있는 코드를 작성한다고 가정 곳이 말도없이 알아낼 수있는 것 x
이 인쇄되었는지 마지막으로 확인되었는지 여부를 알 수있는 방법은 x
이 2이거나 항상있는 경우에만 발생합니다. 따라서 end
을 사용하는 다양한 코드 섹션이 끝나면 명시 적으로 말해야합니다. 하지만 파일의 경우 불필요하며 실제로 오류가 발생합니다. 여기에 도입 된 end
와 if
문이다
print("checking x...")
if x == 2 then
print("x is 2")
print("isn't it awesome that x is 2?")
end
print("x was checked")
루아 상관하지 않지만, 그것은 시작과 끝 위치를 한 눈에 알 수 있도록 이러한 코드 섹션을 들여 아주 좋은 생각입니다 :
print("checking x...")
if x == 2 then
print("x is 2")
print("isn't it awesome that x is 2?")
end
print("x was checked")
"붙여 넣기 문제"에 관해서는 좀 더 구체적으로 설명해야합니다.
당신은 "amatuer"프로그래머,하지만 당신은 운영 체제를 만들기 * 야 * 천천히?. 문법적으로 정확한 루아를 이해할 수 없다면 (그리고 구문 상 올바르지는 않습니다), 당신은 OS를 만드는 데있어 먼 길을 택했습니다. –
알파. 게다가, 나는 그것을 이해한다. 나 자신을 단계별로 가르쳐. – TwitchyCake