在访问表达式中,默认情况下是否可以标记为案例?

时间:2013-05-14 13:21:37

标签: rascal

示例:

visit(Sometree)
{
    case a:someNodeA(_,_): HandleNodeA(a);
    default:               Handle(???);
}

所以我想使用default处理所有其他情况,我该怎么做?

1 个答案:

答案 0 :(得分:1)

访问不支持默认值,因为它在访问时需要特定的绑定内容。相反,你可以编写一个匹配真正一切的模式。例如:

visit(sometree) {
   case node x : handleAllTreeLikeThings(x);
   case str y(value x, value y) : handleAllBinaryTrees(y, x, y);
   case value x : handleAllValuesWhatsoever(x);
}