Lua/输出
< Lua
Lua的基础内容及基本的调试方法,就是将一些数据输出到控制台上。也就是说,在控制台上显示输出的内容。“输出”与“返回”不同。
输出方法
编辑Lua主要有脚本式和交互式两种输出方法。
脚本式
编辑在Lua中使用print(要输出的内容)
(“print”函数)可以将数据的内容输出到控制台上。通常使用的脚本式编程。脚本式编程的意思是完成一个完整的文件,然后显示打印(不是打印机的打印)的内容。
源代码 | 输出的内容 |
---|---|
print(3) |
3 |
print(x) |
nil |
print({"a","b","c"}) |
table: 0x20ec8c0 (注意:这里的后面一串数字通常是随机生成的。旧版本的Lua只会输出table。) |
print(function() return "p" end) |
function: 0x2137bf0 (注意:这里的后面一串数字通常是随机生成的。旧版本的Lua只会输出function。) |
print("字符串") |
字符串 |
print(setmetatable({},{__tostring=function() return "字符串" end})) (注:该代码比较复杂,涉及Lua/元表,若无法读懂可忽略。) |
字符串 |
交互式
编辑交互式编程,指的是输入一行就立即执行一行并返回结果。通常,输入的内容自动有>
前缀,而输出的内容没有。
交互式编程中,要使返回的值打印在屏幕上[注 1],有以下三种方法:
- 使用print函数,这种方法比较自由,且可以用于代码块中。
>for i=1,3 do >>print(i) >end 1 2 3
- 以等号(
=
)开头,后面接表达式。这种方法比较简便。它会显示表达式返回的值。注意,表达式不能是代码块。这种方法往往比print函数简便,但是只适用于交互式编程。你每输入一行,它就可以返回一行。你也可以利用交互式编程进行高效的练习或调试。>a=5 >=a 5
>=t nil >t=2 >=t 2
- 不以等号开头,直接写表达式[注 2]。需要注意的是,函数调用也可以视为表达式,虽然它是进行一个操作,但仍然很有可能返回值。print函数是不会返回值的。虽然table.insert、setmetatable等函数一般单独使用,但对于交互式中,如果只有这个表达式,它仍然返回值,因此也会将值显示在屏幕上。
>a nil >a={} >a table: 0x20ec8c0 >setmetatable(a,{}) table: 0x20ec8c0