Встраивание текста в AS2, например, HEREDOC или CDATA - PullRequest
1 голос
/ 21 апреля 2011

Я загружаю текстовый файл в строковую переменную, используя LoadVars (). Для окончательной версии кода я хочу иметь возможность поместить этот текст как часть кода actioncript и назначить его строке вместо загрузки его из внешнего файла.

Что-то похожее на синтаксис HEREDOC в PHP или CDATA в AS3 (http://dougmccune.com/blog/2007/05/15/multi-line-strings-in-actionscript-3/)

Быстрое и грязное решение, которое я нашел, это поместить текст в текстовый объект в мувиклипе, а затем получить значение, но мне это не нравится

Кстати: текст является многострочным и может содержать одинарные и двойные кавычки.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 22 апреля 2011

Я думаю, что в AS2 единственный способ сделать это грязным. В AS3 вы можете встраивать ресурсы с тегом Embed, но, насколько я знаю, в AS2.

Если это окончательная версия и это означает, что вы больше не хотите редактировать текст, вы можете экранировать символы и использовать \ n как разрыв строки.

var str = "\'one\' \"two\"\nthree";
trace(str);

выходы:

'one' "two"
three

Теперь просто скопируйте текст в ваш любимый текстовый редактор и измените каждый 'и "на \' и \", также разрывы строк на \ n.

0 голосов
/ 19 января 2013

Используйте новую пару кавычек в каждой строке и добавьте пробел в качестве разделителя слов:

var foo = "Example of string " +
"spanning multiple lines " +
"using heredoc syntax."

Есть проект, который может помочь, который добавляет частичную поддержку E4X в ActionScript 2:

А также проект, который добавляет поддержку E4X в Haxe, которая может компилироваться в цель JavaScript:

0 голосов
/ 13 июня 2011

Кристиан, решение anemgyenge работает, когда вы понимаете, что это одна строка. Его можно выбрать и заменить простым действием.

Не редактируйте документ в редакторе кода. Отредактируйте документ в редакторе документов и создайте процесс, который преобразует его в длинную строку (скажем, запустив его через быстрый скрипт PHP). Возьмите преобразованную строку и вставьте ее поверх старой строки. Повторите при необходимости.

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

...