如何在 Lua 中重复代码?

这是我写的第一段代码,因为我刚开始学习,所以不确定缩进是否正确。但是我想要一种重复输出文本的方法,但我不知道该如何实现。

 print("嘿,我想玩个游戏。")
    print("告诉我你的名字")
    print("输入你的名字")
    name = io.read()
    print("哦,多么好听的名字。我也想叫我的孩子这个名字")
    print("好的。所以你看,这里没有灯。全是黑暗。你有三个选择。向西走,向东走,向北走。")
    print("要向北走,请输入'n'。向东走,输入'e'。向西走,输入'w'。")
    repeat
    direction = io.read()
if direction == "w" then
    print("你看到了一个灯开关。")
    print("输入'switch'打开开关。")
    print("输入'go_back'回头")

    best = io.read() -- 我想要重复的地方
    end
    if best == "switch" then
            print("灯亮了。")
                print("随着光越来越亮,你看见有人站在你面前")
                print("在你注意到之前,他划破了你的喉咙。想要重来吗?")
                print("按回车键尝试再次。")
                try_again = io.read()
    best = io.read()

        direction = io.read()

elseif best == "switch" then
        print("灯亮了。")
                print("随着光越来越亮,你看见有人站在你面前")
                print("在你注意到之前,他划破了你的喉咙。想要重来吗?")
                print("按回车键尝试再次。")
                try_again = io.read()
                end
                end
                until best ~= "go_back" -- 重复上面的代码
点赞
用户2858170
用户2858170

为了多次执行一段代码,你可以使用所谓的控制结构。

while exp do block end

repeat block until exp

for exp do block end

或者使用goto label 语句。

请阅读参考资料以了解如何使用它们。 http://www.lua.org/manual/5.3/manual.html#3.3.4

你可以将代码块放入其中一个控制语句中,或者将其放入一个你放入其中一个控制语句的函数中。或者你可以多次手动调用该函数。

你打算重复执行的代码最好放在函数中。

我建议你做一些简单的Lua教程,并阅读Lua语言参考手册和《Lua 编程》一书。两者都可以在www.lua.org上找到。

有关缩进,请参阅http://lua-users.org/wiki/LuaStyleGuide

2016-04-28 10:15:39