我尝试做一个计算器作为第一个任务。但是我在
这是我的代码:
io.read
函数上遇到了问题。这是我的代码:
io.write("let's try making a calculator in LUA!\n\n")
io.write("First number?\n> ")
firstNum = io.read("*n")
io.write("Second number?\n> ")
secNum = io.read("*n")
io.write("Operator?\n>")
op = io.read()
--rest of code goes here--
这段代码让我输入firstNum
和secNum
,但是一旦到了op
这一步就直接退出了,没有任何错误提示。以下是输出结果:
➜ lua test.lua
let's try making a calculator in LUA!!
First number?
> 10
Second number?
> 20
Operator?
>⏎
你知道我在这里做错了什么吗?
firstNum = tonumber(io.read())
读取一行带有数字的输入。 - Egor Skriptunofffirstnum = io.read("*n", "*l")
。普通的io.read("*n")
会在输入缓冲区中留下尾随的空格(包括换行符),因此io.read()
会捕获第二个输入行的其余部分,而不是所需的第三行。 - siffiejoe