【问题标题】:Is it possible to define a tuple with a reference to itself (recursive)是否可以定义一个引用自身的元组(递归)
【发布时间】:2018-01-21 12:49:51
【问题描述】:

我正在尝试创建一个元组,它可以选择具有相同类型的元组列表。

alias MyTuple = tuple[str name, list[MyTuple] children];

代码失败,因为此时 MyTuple 未知。

这可能吗,还是我们需要使用 Node 或 Construct 来获得这个结构?

【问题讨论】:

    标签: rascal


    【解决方案1】:

    您似乎正在尝试定义递归数据类型。和你写的类似的是这样的:

    data MyTuple = myTuple(str name, list[MyTuple] children);
    

    使用它,您可以构造MyTuple 类型的任意嵌套值。

    别名只是另一种类型的简写符号,不能用于递归定义,因为您引用的类型必须事先定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多