最近在搞lua和C互交,为了方便调试(主要是打印信息),格式化内容的时候,通常会有很多%...如果都写在一行太长不说,而且很乱,不方便修改,我想它能像C那样可以把一个字符串分成多行写,
比如
sprintf(...,"%d\n%.2f\n0x%X",123,456.789,789);
写成下面这样,把一行字符串换成多行的,
sprintf(...,
"%d\n"
"%.2f\n"
"0x%X\n",
123,456.789,789);
但是在lua里这样不行,目前只知道可以这样,用..去连接
string.format(
"%d\n" ..
"%.2f\n" ..
"0x%X\n",
123,456.789,789)
虽然这样可以,但是不确定这个有没有优化过,如果每执行一次都要进行字符串连接,那效率太低了,虽然现在不在乎效率,但以后万一要实时格式化显示信息那就太有影响了。
除了上面这个方法外,如果有其他的办法,求大佬们告知。谢谢各位了!
比如
sprintf(...,"%d\n%.2f\n0x%X",123,456.789,789);
写成下面这样,把一行字符串换成多行的,
sprintf(...,
"%d\n"
"%.2f\n"
"0x%X\n",
123,456.789,789);
但是在lua里这样不行,目前只知道可以这样,用..去连接
string.format(
"%d\n" ..
"%.2f\n" ..
"0x%X\n",
123,456.789,789)
虽然这样可以,但是不确定这个有没有优化过,如果每执行一次都要进行字符串连接,那效率太低了,虽然现在不在乎效率,但以后万一要实时格式化显示信息那就太有影响了。
除了上面这个方法外,如果有其他的办法,求大佬们告知。谢谢各位了!