Lua程序設計第4版第8章課後練習答案

8.1
沒有switch,elseif比使用多個if性能更高

8.2
while(true)
for 1,math.huge
repeat
goto

8.3
你想怎樣都好

8.4

function room1()
    local move = io.read()
    if move == "south" then
        room3()
    elseif move == "east" then
        room2()
    else
        print("invalid move")
        room1()
    end
end
function room2()
    local move = io.read()
    if move == "south" then
        room4()
    elseif move == "west" then
        room1()
    else
        print("invalid move")
        room2()
    end
end
function room3()
    local move = io.read()
    if move == "north" then
        room1()
    elseif move == "east" then
        room4()
    else
        print("invalid move")
        room3()
    end
end
function room4()
    print("congratulations , you won!")
end

room1()

8.5
假如goto語句能跳出函數,直接跳轉到某個變量的作用域,卻繞過了變量的聲明與賦值,會發生無法預料的錯誤,本來局部的變成使用全局的人也可能

8.6
原理同上

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章