parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Проблема с хранением преформатированного текста

rash 07.02.2011 00:50

Есть таблица с одной колонкой 'piece', в которой находится преформатированный текст (пробелы, табуляции, пустые строки).
Далее этот текст помещается в другую таблицу уже не в виде набора строк, а в виде простого текста (с сохранением форматирования).
Сейчас это делает такая функция:
##
# Convert table of lines after splitting into regular text
# Params:
#         lines_table - table of lines (with field named "piece")
##
@table_to_plaintext[lines_table]
^lines_table.menu{
        ^if(^lines_table.offset[]==0){
                $result[$lines_table.piece]
        }{
                $result[${result}^#0A${lines_table.piece}]
        }                       
} 
и все вроде бы хорошо, пока нам не встретится пустая строка. В результирующем тексте ее не будет: блоки, разделенные пустой строкой, «слипнутся».
Пробовал решить «в лоб»:
##
# Convert table of lines after splitting into regular text
# Params:
#         lines_table - table of lines (with field named "piece")
##
@table_to_plaintext[lines_table]
^lines_table.menu{
        ^if(^lines_table.offset[]==0){
                $result[$lines_table.piece]
        }{
                ^if(^lines_table.piece.length[]==0){
                        $result[${result}^#0A^#0A${lines_table.piece}]
                }{      
                        $result[${result}^#0A${lines_table.piece}]
                }       
        }                       
} 
но безрезультатно.
Что можно попытаться сделать, чтобы сохранить пустые строки?

Ну и пара сопутствующих мелких вопросов:
1. стоит ли беспокоиться, что в тексте могут оказаться табуляции? Не будет ли это конфликтовать с внутренним представлением таблиц?
2. Таблицы и хеши — единственные способы хранения наборов данных? Судя по документации — да, но иногда это очень мешает, внося дополнительный уровень абстракции там, где нужно напрямую интенсивно работать с данными. Хочется хотя бы простых массивов :)

  • Проблема с хранением преформатированного текста, rash 07.02.2011 00:50