情况:
我正在编码保存数据,这些数据是传感器的值。
如何在一个句子中保存两个值,下面的行会产生错误
filehandle:write(" -The Value of the Sensors : "..tostring(valueOfSensor_1)..tostring(valueOfSensor_2).."\n")
我想保存记录,如
- 传感器的价值:13和20
- 传感器的价值:14和24
- 传感器的价值:16和22
- 传感器的价值:42和12
像这样...... 有什么建议吗?答案 0 :(得分:2)
我不确定你的意思是“犯错误”,但我认为你想要的是:
filehandle:write(" -The Value of the Sensors : "..tostring(valueOfSensor_1).." and "..tostring(valueOfSensor_2).."\n")
即你正在做的只是将两个数字作为字符串放在一起,你想要的是在它们之间插入字符串“和”。
您也可以
filehandle:write(" -The Value of the Sensors : ", valueOfSensor_1, " and ", valueOfSensor_2, "\n" )
因为write会自动转换为字符串所有参数,并且像使用..操作一样将它们连接起来。
只有其他要检查的是你打开文件时用“w”(写入)作为模式而不是“r”(读取)以及打开工作(文件句柄不是零) )。
答案 1 :(得分:0)
最好的方法(imho)是使用string.format
local MyString = "-The value of the Sensors : %d and %d\n"
filehandle:write( MyString:format(valueOfSensor_1, valueOfSensor_2) )