首页 > Lua 关于可变参数和string.format的问题

Lua 关于可变参数和string.format的问题

function fwrite(fmt,...)
   return io.write(string.format(fmt,unpack(arg)))
end
print(fwrite(1,string.find("dubowen","bowe")))

结果是1true

这个结果在我预料之外,不知道为什么会是这个。
主要string.format我理解的也不好。


你什么版本的lua?

5.2.3版本打印1file (0x7f592ee78280) (括号中的数据每次运行都不同).

首先string.format(fmt,unpack(arg))返回1(这个你应该知道为什么吧?)

io.write1输出到屏幕(所以打印结果中有个1),
然后io.write返回output file descriptor, print打印这个output file descriptor就是类似于file (0x7f592ee78280)这样的值.

所以最终看到的打印1file (0x7f592ee78280)其实分别是有io.wirte打印的1print打印的file (0x7f592ee78280)组合结果.

【热门文章】
【热门文章】