actionscript-3 - 您可以通过字符串导航 Vector 索引的内容吗?

标签 actionscript-3 haxe

是否可以在 Haxe 中执行类似的操作?

private var _bindingsFiltered:Vector<String>;
_bindingsFiltered = new Vector<String>();

_controller_touched_binding.action = "meta_start";

我希望能够做什么:

_bindingsFiltered[_controller_touched_binding.action] = "BUTTON_13";
trace(_bindingsFiltered["meta_start"]); //result: "BUTTON_13"

我也希望能够使用新值覆盖特定索引(仍然通过字符串访问),而不是继续将新内容推送到向量的末尾。我现在一直在使用“openfl.utils.Object”进行作弊,但从长远来看,我正在寻找一种更可靠的方法。

Haxe 有办法做到这一点吗?

如果没有,我有什么选择?

我也对 AS3 中的解决方案感兴趣,如果有的话(避免使用 Array 类)。

我的目标是找到一种可以在两种语言中无缝使用的方法(几乎没有差异)。

最佳答案

矢量不能通过 Haxe 中的字符串进行索引。向量是具有固定大小的数组。 This is the Haxe manual on that subject.

您可以使用Map.代替向量。

class Test {

    private var vector:Map<String, String> = new Map<String, String>();

    public function new() {
        var str = 'haxe';

        vector[str] = "is great";
        trace(vector[str]);
    }

    static function main() {
        new Test();
    }
}

https://try.haxe.org/#F74Ba

关于actionscript-3 - 您可以通过字符串导航 Vector 索引的内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47294154/

相关文章:

javascript - 如果我从 JS 调用 SWF,而该 SWF 已经忙于处理来自 JS 的另一个调用,会发生什么情况?

javascript - Opa vs Dart vs Haxe vs CoffeeScript

linux - OpenFL 的 Linux 目标出现 libGL 错误

actionscript-3 - 如何在运行时向边框容器添加垂直布局?

operator-overloading - haxe 运算符重载 ==,找不到模板参数的类错误

macros - 宏和字符串插值变量

c++ - 在 Flashdevelop OpenFL 中编译需要 31 分钟

actionscript-3 - 三角三角学 (ActionScript 3)

actionscript-3 - Flash编程教程

actionscript-3 - 神秘的 "watson"函数