我想知道是否可以提取类型参数的类型。例如,我希望能够做到这样的事情:
case list[&T] _: println("list of <&T> type");
我要做的是匹配看起来相同但可能有不同类型并使用特定类型的各种模式。
这可能吗?或者有另一种方法来实现这一目标吗?
答案 0 :(得分:2)
您正在寻找typeOf
中描述的import Type;
。打印其参数类型的函数可以定义如下(记得将void printMyType(&T a) { println("<typeOf(a)>"); }
添加到您的Rascal源文件中):
rascal>printMyType(3)
int()
ok
rascal>printMyType("abc")
str()
ok
示例:
{{1}}