Apache flex AS3-It';可能有包变量(或常量)

Apache flex AS3-It';可能有包变量(或常量),apache-flex,actionscript-3,Apache Flex,Actionscript 3,不管这是否是一个好的实践,我读到您可以有包变量(或常量),所以我尝试了以下方法: // globals.as package global { public const someConst:String = 'theValueOfTheConst'; public var someVar:String = 'theValueOfTheVar'; } // SomeClass.as package pack.to.the.class { // ... import

不管这是否是一个好的实践,我读到您可以有包变量(或常量),所以我尝试了以下方法:

// globals.as
package global
{
    public const someConst:String = 'theValueOfTheConst';
    public var someVar:String = 'theValueOfTheVar';
}

// SomeClass.as
package pack.to.the.class
{
    // ...
    import global.*;
    // ...

    // ...
    public function aFunction():void
    {
        trace(someConst);
        trace(someVar);
    }
    // ...
}
我得到的只是一个编译时错误,上面写着“全局的定义:someConst尚未找到”(someVar也是如此)

我正在使用Flex,我看到了一些问题。那么,这可能吗?我可以在不使用类的情况下使用包变量(或常量)吗

谢谢


PS:包名、变量名和函数名都是一个例子,我在测试时使用了其他名称。

我非常怀疑。。。如果你可以的话,我会怀疑这比简单地制作一个全球课程更费劲。

我非常怀疑。。。如果可以的话,我会怀疑这比简单地创建一个全局类更费劲。

为了它的价值,我自己尝试了测试,但也无法让它工作,即使变量和对它们的引用在同一个包中。

为了它的价值,我自己尝试了测试,但也无法让它工作,即使变量和对它们的引用在同一个包中。

当然可能,但不鼓励。在源/根(编译器设置中的主源文件夹)中,放置全局类:

包装 {

}


(哦……我正在使用flex进行测试,但她成功了——不需要导入以在不同的包区域设置中获取某些常量)

当然可能,但不鼓励这样做。在源/根(编译器设置中的主源文件夹)中,放置全局类:

包装 {

}

(哦……我正在使用flex进行测试,但她工作了——不需要导入以在不同的包区域设置中获取某些常量)

如果您更改

public const someConst:String = 'theValueOfTheConst';

那对我来说就行了。YMMV.

如果您更改

public const someConst:String = 'theValueOfTheConst';


那对我来说就行了。YMMV.

答案很简单。您的文件中可能只有一个定义。把它们分成两个文件,它就可以工作了

文件的命名必须与变量的命名完全相同。因此,在您的示例中,这将起作用:


//someConst.as
package global
{
    public const someConst:String = 'theValueOfTheConst';
}

//someVar.as
package global
{
    public var someVar:String = 'theValueOfTheVar';
}

每个“编译单元”(用于*.as文件的奇特术语)可能只有一个可见的定义。也不能将两个类放在同一个文件中。但是,您可以有任意多个匿名定义。

答案很简单。您的文件中可能只有一个定义。把它们分成两个文件,它就可以工作了

文件的命名必须与变量的命名完全相同。因此,在您的示例中,这将起作用:


//someConst.as
package global
{
    public const someConst:String = 'theValueOfTheConst';
}

//someVar.as
package global
{
    public var someVar:String = 'theValueOfTheVar';
}

每个“编译单元”(用于*.as文件的奇特术语)可能只有一个可见的定义。也不能将两个类放在同一个文件中。但是,您可能有任意多个匿名定义。

或者我做错了什么,或者我很愚蠢。。因为我没有工作,或者我做错了什么,或者我很愚蠢。。因为我不为我工作,我总是这样。一个国际班。但我看到了,想知道这是否可行,我总是这么做。一个国际班。但我看到了,想知道这是否可行,这就是问题所在。。谢谢这就是问题所在。。谢谢也许Flex编译器的工作方式不同,但在Flex中(也许您可以将其转换为as3),有一个“源路径”设置。这是包命名的起始文件夹(如果您将所有开发默认为“src”文件夹,并且在src中有一个“com”文件夹,那么com文件夹中的包名称看起来像“package com{}”.所以,对我来说,如果我将global.as放在主源文件夹中,并按上面所述的方式键入,我就不需要导入someConst.但是,正如我所说的…Flex.对你来说可能完全不同。祝你好运!请参阅Joa Ebert的答案,也许你可以将global.as文件命名为someConst.as(这是我的问题,文件名)也许Flex编译器的工作方式有所不同,但在Flex中(也许您可以将其转换为as3)有一个“源路径”设置。这是包命名的起始文件夹(如果您将所有开发默认为“src”文件夹,并且在src中有一个“com”文件夹,那么com文件夹中的包名称如下所示“package com{}”。所以,对我来说,如果我把global.as放在主源文件夹中,并按照上面写的方式键入它,我就不需要导入someConst。但是,正如我所说的……Flex。对你来说可能完全不同。祝你好运!见Joa Ebert的答案,也许你可以将global.as文件命名为someConst.as(这是我的问题,文件名)