我正在通过这个网站学习 Lua 。我在教程的最开始并且正在尝试这个程序(输入一个数字x
,它返回x!
):
-- defines a factorial function
function fact (n)
if n == 0 then
return 1
else
return n * fact(n-1)
end
end
print("enter a number:")
a = io.read("*number") -- read a number
print(fact(a))
但是,当我运行它时,io.read
似乎出现在提示之前。我在 Notepad++ 控制台中运行它,如下所示:
"C:\Program Files\Lua\5.1\lua.exe" "Path\To\factorial.lua"
输出(看起来)是空白的,但如果我输入一个数字,函数就会运行。
5
enter a number:
120
虽然这在这里不是什么大问题,但我只能想象在创建之前使用变量所带来的问题。那么,如何让这个程序在读取输入之前提示输入数字?