如何在 Lua 中打破一条长线

chr*_*rme 4 lua

Util = {
  scale = function (x1, x2, x3, y1, y3) return (y1) + ( (y2) -  (y1)) * \
        ( (x2) -  (x1)) / ( (x3) -  (x1)) end

}

print(Util.scale(1, 2, 3, 1, 3))
Run Code Online (Sandbox Code Playgroud)

在 Lua 中打断长行的正确语法是什么?

mks*_*eve 5

在您的特定情况下,约定将是......

Util = {
   scale = function (x1, x2, x3, y1, y3) 
       return (y1) + ( (y2) -  (y1)) * ( (x2) -  (x1)) / ( (x3) -  (x1)) 
   end

}
Run Code Online (Sandbox Code Playgroud)

中断在语句的位置 如果乘法需要拆分,可以进一步中断

Util = {
   scale = function (x1, x2, x3, y1, y3) 
       return (y1) + ( (y2) -  (y1)) * 
               ( (x2) -  (x1)) / ( (x3) -  (x1)) 
   end

}
Run Code Online (Sandbox Code Playgroud)

与用于分割线的乘法标记。通过在行尾留下标记,解析器需要更多的输入来完成表达式,因此查看下一行。

Lua 通常对行字符视而不见,它们只是空白。但是,在某些情况下可能存在差异,我会将换行符限制在明显需要额外数据的地方。

 a = f
 (g).x(a)
Run Code Online (Sandbox Code Playgroud)

是否可以将其视为a = f(g).x(a)a = f和的特定情况(g).x(a)

通过在需要继续的标记之后中断,您可以确保您正在使用解析器。

  • 您还可以将下一个操作数的左括号放在行尾。在这种情况下,解析器将“始终”继续扫描。 (2认同)