io.write()和print()函数的区别

来源:互联网 发布:怪物猎人捏脸数据库 编辑:程序博客网 时间:2024/05/20 19:19

1、io.write函数

io.write(h,e,l,l,o)

io.write(h..e..l..l..o)

参数间用逗号隔开,或者用“..”连接,实现的功能一样。

不过使用逗号分隔的,其参数不能是 nil, 否则报错, 像这样:(lua: hello.lua:4: bad argument #4 to 'write' (string expected, got nil)

使用“..”字符串连接行为会消耗更多的资源。
2、print函数

print 函数的调用会附加一些格外的格式, 比如:print(a,b)他会在 a,b 之间插入 \t 制表符, 并且结尾自动回车; 另外 print 会自动调用参数的 tostring 方法, 因此他可以调试的时候输出 table, function, nil。

注意: io.write 因为原样输出参数, 没有调用 tostring, 因此如果像这样: io.write({}) 也会报错,说参数应该是 string, 不能是 table

0 0