Как разорвать длинную очередь в Луа - PullRequest
0 голосов
/ 19 мая 2018
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))

Каков правильный синтаксис прерывания длинной строки в Lua?

1 Ответ

0 голосов
/ 19 мая 2018

В вашем конкретном случае, соглашение будет следующим:

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

}

Там, где есть операторы разрыва. Дальнейшее разбиение может быть сделано, если умножение нужно разделить на

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

}

С токеном умножения, используемым для разделения строки.Оставляя токен в конце строки, парсер требует больше ввода для завершения выражения, поэтому просматривает следующую строку.

Lua обычно не видит строковые символы, они просто пробелы.Однако существуют случаи, когда могут быть различия, и я бы ограничил разрывы строк местами, где существует очевидная потребность в дополнительных данных.

 a = f
 (g).x(a)

Это особый случай, когда его можно рассматривать как a = f(g).x(a) или a = f и (g).x(a)

Прерывая работу токена, который требует продолжения, вы гарантируете, что работаете с анализатором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...