首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >haxe抽象代码不适用于neko

haxe抽象代码不适用于neko
EN

Stack Overflow用户
提问于 2014-02-23 11:34:01
回答 1查看 184关注 0票数 0

下面的代码编译为Javascript并运行正常,http://try.haxe.org/#8C940

代码语言:javascript
复制
abstract Comparable(Dynamic) from Float from String {
  @:op(a<b) static function lt(a, b):Bool;
}

class Test {
  public static function min<T:Comparable>(t:T, t2:T):T { 
    return (t:Comparable) < (t2:Comparable) ? t : t2; 
  }
  static function main() {
    var a = min(1.1,2.2); //ok
    $type(a); //Float
    trace(a); //1.1
    var b = min(1,2); //ok
    $type(b); //Int
    trace(b); //1
    var c = min("a","b"); //ok
    $type(c); //String
    trace(c); //a

    //following will produce compilation error, correctly
    //min(0, "a");
  }
}

但在为neko编译时,它会给出以下错误:

代码语言:javascript
复制
Main.hx:7: characters 12-13 : Unexpected :
Main.hx:7: characters 12-13 : Unexpected :
Uncaught exception - load.c(181) : Module not found : main.n

有问题的错误是这样的:

代码语言:javascript
复制
    return (t:Comparable) < (t2:Comparable) ? t : t2; 

你知道为什么语言特性可以在一个目标上工作,而在另一个目标上不能工作吗?我该如何解决neko的问题呢?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-02-25 07:12:47

我猜你有一个编译器版本冲突,你可以尝试最新的开发版本:http://hxbuilds.s3-website-us-east-1.amazonaws.com/builds/haxe/

(你可以在这里找到链接:http://haxe.org/manual/haxe3#git-builds -- edit:这个页面已经不存在了,但是构建页面可以通过http://build.haxe.org访问)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21963865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档