Genie中嵌套的泛型类型的语法是什么?

延斯·穆伦霍夫(JensMühlenhoff)

我想用string它的键和array of int声明一个HasTable

[indent=4]

init
    var h = new HashTable of string, array of int (str_hash, str_equal)
    h["a"] = {1, 2, 3}
    h["b"] = {5, 6, 7}

错误信息:

nested_generic_types.gs:4.27-4.28: error: syntax error, expected line end or semicolon but got `of'
    var h = new HashTable of string, array of int (str_hash, str_equal)

因此,双重of似乎使valac这里感到困惑

正确的语法是什么?

姓法马斯

错误消息与vala不同。

Genie的错误消息看起来像是编译器的解析问题。vala的错误消息更加清晰。

我在vala中的测试:

void main () {
    var h = new HashTable<string, int[]> (str_hash, str_equal);
}

错误信息:

error: `int[]' is not a supported generic type argument, 
use `?' to box value types

看起来只是不支持“数组”,其他都可以。'array'不能是任何容器中的元素(HashTable,Array,GenericArray,array ..)

一些测试:一切正常!

[indent=4]

init
    var h = new HashTable of string, HashTable of string, int (str_hash, str_equal)
    h["a"] = new HashTable of string, int (str_hash, str_equal)
    h["a"]["b"] = 123
    stdout.printf ("%d\n", h["a"]["b"])

    var a = new HashTable of string, Array of int (str_hash, str_equal)
    a["a"] = new Array of int
    // a["a"].append_val (456)
    // error: lvalue expected
    var x = 456
    a["a"].append_val (x)
    stdout.printf ("%d\n", a["a"].index(0))


    var b = new HashTable of string, GenericArray of int (str_hash, str_equal)
    b["a"] = new GenericArray of int
    b["a"].add (567)
    stdout.printf ("%d\n", b["a"].get (0))

    var d = new array of Array of int = {new Array of int(), new Array of int}
    // ERROR IF {new Array of int, new Array of int}
    var y = 321
    d[0].append_val (y)

    stdout.printf ("%d\n", d[0].index(0))

的解释来自:http : //blog.gmane.org/gmane.comp.programming.vala/month=20140701

没有正确的语法,就是不支持。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

F#中的OCaml样式泛型类型参数的语法是什么?

来自分类Dev

Java嵌套泛型:形式参数类型应该是什么?

来自分类Dev

Java中泛型类型实现的返回类型应该是什么

来自分类Dev

Java中泛型类型实现的返回类型应该是什么

来自分类Dev

Go中的泛型是什么?

来自分类Dev

Typescript中的泛型是什么?

来自分类Dev

Java泛型中的用法通配符或Bounded类型参数是什么?

来自分类Dev

返回类型之前泛型的目的是什么

来自分类Dev

从嵌套类型推断泛型

来自分类Dev

在Visual Studio中突出显示泛型类型的语法

来自分类Dev

推断打字稿中嵌套的泛型类型?

来自分类Dev

记录中的泛型“ with”语法

来自分类Dev

类型语法 - Typescript 中这种语法的含义是什么

来自分类Dev

限制方法中泛型的目的是什么?

来自分类Dev

在不使用泛型的类内的方法中,泛型的目的是什么?

来自分类Dev

Java泛型类型中的<>和<?>有什么区别?

来自分类Dev

将泛型类型参数用作方法参数而不是对象类型的用途是什么?

来自分类Dev

返回匿名 2 字符串类型的泛型列表的返回类型是什么?

来自分类Dev

如何获得嵌套的泛型类型

来自分类Dev

Scala:类型与嵌套泛型不匹配

来自分类Dev

如何获取嵌套的泛型类型

来自分类Dev

嵌套泛型类型的扩展方法

来自分类Dev

在 HashMap 中使用嵌套的泛型类型

来自分类Dev

使用嵌套泛型类型调用方法

来自分类Dev

C#泛型:“ X <T>其中T:X <T>”泛型类型约束的意义是什么?

来自分类Dev

泛型中的类型安全

来自分类Dev

Action中的泛型类型?

来自分类Dev

reactjs中的泛型类型

来自分类Dev

Scala中的泛型类型

Related 相关文章

热门标签

归档