Добавление HTML-блока кода в строку (concat) в Lua - PullRequest
1 голос
/ 13 июля 2010

Я знаю, что могу объединять строки в Lua, как это так

String = String .. 'more'

Но что, если я хочу добавить HTML и сохранить (очевидно), как он выглядит? Например, как мне преодолеть

luac: Perl to Lua:226: unfinished string near '''

ошибка, которую я получаю, когда делаю это

Html_string = Html_string .. "
                <tr>                                                                                         
                    <th class=row>" . gettext("Last Upgrade") . "</th>                                   
                    <td title=\"Upgrade_date\"Upgrade_status</td>                                     
                </tr>
                             "

1 Ответ

6 голосов
/ 13 июля 2010

Вы можете использовать многострочные строковые токены.

В Lua это делается с использованием синтаксиса [[ .. ]]

Так, например:

  Html_string = Html_string .. [[
                <tr>                                                                                         
                    <th class="row">]] .. gettext("Last Upgrade") .. [[</th>                                   
                    <td title="Upgrade_date">Upgrade_status</td>                                     
                </tr>
  ]]

Внутри [[..]] вам даже не нужно избегать каких-либо персонажей. Если ваш HTML-контент сам содержит [[ ..]], вы можете расширить его до [=[ .. ]=], чтобы избежать конфликтов. Это расширение может быть выполнено для любого количества знаков =, если его количество совпадает с открывающим и закрывающим тегом.

См. PiL для справки, он даже использует HTML в качестве примера для многострочных строк.

http://www.lua.org/pil/2.4.html

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