将文本嵌入到AS2中,例如HEREDOC或CDATA

| 我正在使用LoadVars()将文本文件加载到字符串变量中。对于代码的最终版本,我希望能够将该文本作为动作脚本代码的一部分并将其分配给字符串,而不是从外部文件加载它。 类似于PHP中的HEREDOC语法或AS3中的CDATA(http://dougmccune.com/blog/2007/05/15/multi-line-strings-in-actionscript-3/) 我发现的快速而肮脏的解决方案是将文本放入动画片段的文本对象中,然后获取值,但我不喜欢它 顺便说一句:文本是多行,可以包含单引号和双引号。 谢谢!     
已邀请:
我认为在AS2中,唯一的办法似乎是使它变得肮脏。在AS3中,您可以使用Embed标签嵌入资源,但据我所知在AS2中不是。 如果它是最终版本,则意味着您不想再编辑文本,则可以转义字符并使用\\ n作为换行符。
var str = \"\\\'one\\\' \\\"two\\\"\\nthree\";
trace(str);
输出:
\'one\' \"two\"
three
现在,只需将文本复制到您喜欢的文本编辑器中,然后将每个\'和\“分别更改为\\\'和\\\”,并且将换行符更改为\\ n。     
当您意识到anemgyenge的解决方案仅需一行时,它的解决方案就会起作用。可以通过简单的操作选择和替换它。 不要在代码编辑器中编辑文档。在文档编辑器中编辑文档,并创建一个将其转换为长字符串的过程(例如通过快速的PHP脚本运行它)。将转换后的字符串粘贴到旧字符串上。根据需要重复。 从长期的管理角度来看,这是不理想的,特别是如果在没有交出解析器的情况下交出了代码维护,但是却解决了一些维护问题。     
在每行上使用一对新的引号,并添加一个空格作为单词定界符:
var foo = \"Example of string \" +
\"spanning multiple lines \" +
\"using heredoc syntax.\"
有一个项目可能会有所帮助,该项目可以为ActionScript 2添加部分E4X支持: as24x 以及一个向Haxe添加E4X支持的项目,该项目可以编译为JavaScript目标: E4X Macro for Haxe     

要回复问题请先登录注册