预处理,指令和混合输入有什么区别?

时间:2015-07-07 00:50:09

标签: actionscript-3 compiler-directives

我正在使用开发人员工具,在其中您可以导出HTML。它还保存为自己的文件格式(不是html)。使用这个工具,我正在导出,替换和生成代码,但我不确定我正在做的每件事的术语是什么。

在开发人员工具中,我有一个设计视图和一个导出到HTML的选项。根据其中一个面板中的用户设置选项,我将在HTML生成的标记代码周围添加附加代码。当用户单击导出时,会在工具代码中发生这种情况。这是一个预处理指令吗?

稍后用户保存他们的文件我保存此信息,将导出时添加其他代码的说明放入文本文件中。这叫做指令吗?

什么是混合输入?

我希望这是有道理的。

此外,该工具生成HTML标记,并在上面的示例中插入上面的一些代码。这是编译器吗?

更新
这与使用Flash Player虚拟机和ActionScript的项目有关,因此具有诸如“mixins”,“preprocessing”和“[compiler] directives”之类的单词的语言可以本地化到该字段。我猜这就是为什么人们贬低的原因。我认为如果他们对原始帖子进行投票,则应该要求某人发表评论。

1 个答案:

答案 0 :(得分:1)

我会尝试回答一些我认为你会问的问题。

  

ActionScript 3上下文中的预处理是什么?

预处理意味着执行预编译宏语言,该语言在编译之前修改代码。我能找到的ActionScript3预处理器最接近的是Flex SDK的MXMLC编译器,does support something equivalent to #defines

这就是你所谓的编译器指令,如MXMLC's documentation on conditional compilation中所证明的那样。

  

什么是混合?

According to Adobe," mixin提供了一种简单的方法,可以在不使用继承的情况下将现有类的方法动态添加到自定义类。您在该类中混合,然后将该类的成员添加到自定义类的原型对象中。"

  

根据其中一个面板中的用户设置选项,我将在HTML生成的标记代码周围添加其他代码。当用户单击导出时,会在工具代码中发生这种情况。 这是预处理指令吗?

根据此附加代码的外观,如果它只是常规的ActionScript3代码,则可以将其称为模板代码。如果要添加的是现有类的其他方法,请将其称为mixins。如果您只是添加额外的代码,可以将其称为mixin并与Adobe的术语冲突,这可能是不可取的。

您的工具本身可以被视为一种预处理器 - 我希望预处理器使用代码中给出的提示(例如使用特定的预处理器指令,如#define或ActionScript3代码本身)来转换代码。

关于你的问题的表述,我觉得它有点倒退了。我可能会像这样说出同样的问题(假设我理解正确):

  

在ActionScript3中,术语预处理指令 mixins 之间有什么区别?我问的原因是因为我制作了一个开发人员工具,它接受了ActionScript3代码并在其周围添加了额外的代码。对于这个工具的GUI,我必须参考这个代码,我不确定这三个单词中是否有任何一个符合条件。