Многострочный текстовый литерал в 4D
Можно ли ввести многострочный текст / строковый литерал в методе 4D? Что-то вроде:
C_TEXT($var)
$var:="""First Line
Second Line
Third Line"""
Используя тройной "здесь, как они используются в Python, просто в качестве примера.
2 ответа
Вы также можете сделать это в 4D версии 12 и выше.
C_TEXT($var)
$var:="First Line\r"+\
"Second Line\r"+\
"Third Line"
Я не верю, что это так. На протяжении всей нашей программы мы делаем что-то вроде этого:
C_TEXT(<>CR)
C_TEXT($var)
<>CR:=Char(13) //carriage return
$var:="First Line" + <>CR + "Second Line" + <>CR + "Third Line"
У нас также есть перевод строки: <>LF:=Char(10). Мы используем IP-переменные, которые определяются во время запуска программы для этих символов и некоторых других, вспоминается Tab. Вы можете использовать константы, но у нас были некоторые проблемы с ними в прошлом, поэтому мы стараемся не использовать их, когда это возможно.
Вы также можете использовать \ n или \ r в тексте. В отладчике он просто покажет их все в одной строке с \ n и \ r, но я считаю, что он будет отображать многострочный (в Alert()).
$var:="First Line\nSecond Line\nThird Line"
Мы выбираем первый способ для удобочитаемости и ремонтопригодности.