是否可以在 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();
}
}
关于actionscript-3 - 您可以通过字符串导航 Vector 索引的内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47294154/