- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 haxe 中,除了使用 arr[arr.length-1]
作为键之外,还有其他方法可以获取数组的最后一个元素吗?我想避免需要对数组的引用。
最佳答案
不,但是你可以创建一个 static extension为此:
using ArrayExtensions;
class Main {
static function main() {
var a = [1, 2, 3];
trace(a.last()); // 3
}
}
class ArrayExtensions {
public static inline function last<T>(a:Array<T>):T {
return a[a.length - 1];
}
}
或者,您可以使用自定义抽象重载数组访问运算符以获得 Python 样式的负索引:
class Main {
static function main() {
var a:PythonArray<Int> = [1, 2, 3];
trace(a[-1]); // 3
}
}
@:forward
abstract PythonArray<T>(Array<T>) from Array<T> to Array<T> {
@:arrayAccess function get(i) {
return if (i < 0) this[this.length - i * -1] else this[i];
}
@:arrayAccess function set(i, v) {
return if (i < 0) this[this.length - i * -1] = v else this[i] = v;
}
}
这有一个缺点,即必须将数组键入为该抽象。
关于arrays - Haxe 获取数组最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61027534/
我正在尝试使用一些附加功能编写自己的 bool “抽象”。 @forward abstract MyBool(Bool) { public inline function new(b:Bool)
haxe 中是否有某种退出语句?喜欢 import sys sys.exit(0) 在 Python 或 System.exit(0); 在 java ? P.S.:只需要这个用于 sys 目标...
是否可以根据运行时可用的信息将变量转换为另一种类型? 如果我有: interface Foo { } class Bar implements Foo { public function ne
我正在关注使用 Haxe 语言的 HaxeFlixel 教程。现在我没有任何 Haxe 经验,但我决定勇敢学习教程,因为我确实有 Java 和 Haxe 的经验,因为这种语言似乎与 Java 非常相似
我正在尝试使用构建 hxml 文件来编译 Haxe 类,而不定义入口点。 我的文件夹结构如下所示: root | ___src |___Test.hx | ___build.hxml T
对于haxe,我们通常需要使用现有的非haxe代码,因此我们可能希望我们的haxe代码吸收系统的一部分或添加到系统中,而不是编写外部代码,而我们不能假设一个好的haxe设置的系统。 例如,以 js 目
我发现在构建 Haxe 项目时,仅编译从 Main 引用的代码或由在 Main 中间接/直接引用的类引用的代码。如何强制 Haxe 将所有源 .HX 文件编译成目标语言?我试过使用 DCE 标志(no
我想像这样在 Map 中使用函数作为键: var timers : MapVoid, snow.api.Timer>; 但是 Haxe 不会编译: Abstract Map has no @:to f
有人知道一种自动获取 Haxe 项目中未使用类列表的方法吗? 我没有找到有关此的文档,但该信息应该在某处可用。就像消除死代码后的差异。 最佳答案 可以通过 -D dce-debug 编译得到 DCE
Haxe 有没有办法获得 Java 的抽象方法和抽象类的等价物? 我想要的是 // An abstract class. (Written in a Java/Haxe hybrid.) abstr
Haxe 有 trace() ,可用于所有目标以打印内容。 trace("aa"); // Main.hx:89: aa 如何只打印内容,而不打印文件名和行号? 最佳答案 对于 sys 目标(例如 n
我计划在 Haxe 的一个子集中编写 Haxe 库,这些库将编译为每种 Haxe 目标语言。有什么方法可以验证 Haxe 程序是否可以编译为所有目标语言,是否可以在不手动测试每个目标平台上的编译代码的
在Haxe中,有没有脚本或者命令可以自动运行一个多目标语言的Haxe程序?我想编写一个执行以下操作的脚本: 1) 将 Haxe 源代码编译为 JavaScript、C++、PHP 和 Java。 2)
在其他编程语言中,我可以使用 int array[23][23] 来声明每个维度有 23 个元素的二维数组。我如何在 Haxe 中实现同样的目标? 目前我需要这样做: var arr:Array> =
我的 Haxe 构建有多个目标,我必须手动对每个目标进行 c/p 更改。 .hxml 文件可以处理变量吗? 最佳答案 不,但您可以使用 --each 和 --next 减少重复: -main Exam
我想使用 Haxe 导入图像,我的图像很大,但它是 8 位,重 89kb。当我导入它时出现问题,因为内存大小增加了35mb。我想它是为 32 位图像保留内存。知道如何导入 8 位图像而不消耗这么多内存
是否有一个库/类/数据类型来处理 Haxe 中的大数字并且也是平台无关的? 我想做的是一款增量游戏(比如 Clicker Heroes),但我受制于 32 位整数限制。 我在谷歌搜索时发现了一两个类,
我需要防止类 A 在任何地方被实例化,而只能从另一个类 B 实例化,然后类 B 可以返回类 A 的创建实例,该实例可以在任何其他类中使用。 我知道 B 在这个例子中可能是一个工厂,我查看了 Haxe
开发人员可以在生产开发的前端(Web 和桌面)和后端使用 haxe 是真的吗 - 需要源代码 最佳答案 是的,这是真的。 Haxe 可以转换为多种语言,例如 PHP、Javascript、C++、Ja
是否有预定义的 HashSet Haxe 中的类,类似于 s = set() 在 Python 或 import java.util.HashSet; 在 java ? 我知道,我可以简单地使用 ha
我是一名优秀的程序员,十分优秀!