【问题标题】:Haxe generics - curly braces as constraintHaxe 泛型 - 花括号作为约束
【发布时间】:2014-01-19 23:25:43
【问题描述】:

空花括号约束是什么意思? 例如(取自 Map 的 ObjectMap 实现):

extern class ObjectMap < K: { }, V > implements Map.IMap<K,V> {
...

【问题讨论】:

    标签: generics haxe


    【解决方案1】:

    {} 的类型参数匹配任何对象。这包括类实例、匿名对象等,但不包括 Ints、Floats、Bools 和其他基本类型。

    另一方面,Dynamic 的类型参数匹配对象和整数、浮点数、布尔值等。

    (请注意:正如@back2dos 指出的那样,String 算作类实例,因此将满足类型约束{}

    【讨论】:

    • 这是否记录在任何地方?我搜索了 Haxe 官方文档,但找不到任何提及 {}。我想知道为什么不命名它 - K:Object 会比 K:{} 直观得多。
    • 旁注:不幸的是,{} 包含字符串,因为它们实际上是类实例。
    • @LukaŠverko 老实说我在手册中也找不到它,所以不确定我是从哪里学到的……我可能会建议它包含在下一版本的手册中跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    相关资源
    最近更新 更多