情况:
我正在编写关于保存数据的代码,这些数据是传感器的值。
如何在一句话中保存两个值,下面的代码行出错
filehandle:write(" -The Value of the Sensors : "..tostring(valueOfSensor_1)..tostring(valueOfSensor_2).."\n")我想像这样保存记录
传感器的-The值: 13和20
传感器的-The值: 14和24
传感器的-The值: 16和22
传感器的-The值: 42和12
像这样..。有什么建议吗?
发布于 2013-05-01 22:58:47
最好的方法(Imho)是使用string.format
local MyString = "-The value of the Sensors : %d and %d\n"
filehandle:write( MyString:format(valueOfSensor_1, valueOfSensor_2) )发布于 2013-05-01 22:56:51
我不确定你所说的“制造错误”是什么意思,但我认为你想要的是:
filehandle:write(" -The Value of the Sensors : "..tostring(valueOfSensor_1).." and "..tostring(valueOfSensor_2).."\n")你所做的只是将两个数字作为字符串放在一起,你想要的是在它们之间插入字符串“and”。
你也可以这样做
filehandle:write(" -The Value of the Sensors : ", valueOfSensor_1, " and ", valueOfSensor_2, "\n" )因为write会自动将所有参数转换为字符串,并将它们连接起来,就像使用..操作。
唯一需要检查的是,打开文件时使用的模式是"w“(写),而不是"r”(读),并且打开是正常的(文件句柄不是nil)。
https://stackoverflow.com/questions/16319983
复制相似问题