如何使用 Haxe "package" 声明?

How to use Haxe "package" declarations?

为什么像下面两个文件中的 package 声明会导致编译器错误,以及如何在两个文件中实现我声明的包(使用 Main 包括)?

文件Main.hx

package foo;
class Main {
    function new() {
        var x:A = new A();
    }

    static function main() {
        var main = new Main();
    }
}

文件A.hx

package foo;
class A {
    public function new() {
        trace('Hi.');   
    }
}

尝试像这样构建您的项目:

[project root]
    /source
        /foo
            Main.hx
            A.hx

然后使用这些参数调用 Haxe,将 [project root] 作为当前工作目录:

haxe -cp source --interp -main foo.Main

source的名称并不重要,可以是srcSource,但.hx文件所在的目录需要匹配他们的包裹 (foo)。