Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Haxe(闪存)和内联_Actionscript 3_Flash_Inline_Haxe - Fatal编程技术网

Actionscript 3 Haxe(闪存)和内联

Actionscript 3 Haxe(闪存)和内联,actionscript-3,flash,inline,haxe,Actionscript 3,Flash,Inline,Haxe,我的问题是在一些情况下如何在Haxe(AS3)中内联 任何标记有关键字inline(静态和非静态),的方法在编译过程中是否总是内联 默认情况下属性是内联的吗?如果没有,有没有办法将它们内联起来?(可能通过为它们指定内联访问器方法) 如果内联方法在编译时消失了,怎么可能从中派生出函子呢 你在haxe.org上看过吗 (文档中)对内联函数有一些限制。此外,不能内联递归函数。我相信所有标记为inline的方法都是内联的(当然,如果hxml文件中没有--no-inline操作),如果某个带有inline

我的问题是在一些情况下如何在Haxe(AS3)中内联

  • 任何标记有关键字
    inline
    (静态和非静态),的方法在编译过程中是否总是内联
  • 默认情况下属性是内联的吗?如果没有,有没有办法将它们内联起来?(可能通过为它们指定内联访问器方法)
  • 如果内联方法在编译时消失了,怎么可能从中派生出函子呢
  • 你在haxe.org上看过吗

    (文档中)对内联函数有一些限制。此外,不能内联递归函数。我相信所有标记为
    inline
    的方法都是内联的(当然,如果hxml文件中没有--no-inline操作),如果某个带有
    inline
    标记的方法无法内联,编译过程中将抛出错误

    不,他们没有。只能内联静态变量,否则会出现编译错误(
    内联变量必须是静态的
    )。请注意,内联变量显然无法更改,因此没有理由内联非静态变量。如果内联
    geter
    seter

    private var v: Bool;
    
    public inline function getv(nv: Bool) {
        return v;
    }
    
    它将被视为:

    private var v: Bool;
    
    public inline function getv(nv: Bool) {
        return this.v;
    }
    
    内联
    后,将参照类更改此
    。看一看。那里没有内联的
    StopWatched
    类属性

  • 我不太清楚什么是函子

  • 我所指的内联访问器方法是这样的:
    publicvarx(getX,getY):Int
    ,其中
    getX()
    getY()
    是内联方法。函子也是函数对象。一种传递函数指针的方法,例如传递给事件侦听器。虽然我没有真正测试结果,但我记得它们在某种程度上是内联的。当它涉及到接口时,它们不是,但这是很明显的。@Dykam谢谢你的回答。我知道内联方法不能被重写,但这不是我问题的一部分。关于这类事情的文档的缺乏让我非常恼火。我的问题是-属性真的是隐藏的方法(如C#),还是仅仅是编译器对字段过量的限制。(谈论普通属性时,不使用访问器方法。)@实际上,属性定义只是一个别名。它被直接转换为方法调用。我认为通常的函数属性是不适用的。@Dykam由于您可以将访问器方法附加到属性,或者只是“按原样”使用属性,所以它似乎没有那么明显。问题是,在不附加方法的情况下使用属性是否会在后台生成方法(类似于C#中的自动属性),或者它的行为是否与字段一样,但具有自定义的可见性。