2014-12-06 64 views
1

我想知道是否可以提取类型参数的类型。例如,我希望能够做一些事情,如:Rascal中的打印类型参数

case list[&T] _: println("list of <&T> type"); 

我所希望做的是匹配的外观相同,但可以有不同的类型,并使用特定类型的各种图案。

这可能吗?还是有另一种方法来实现这一目标?

回答

2

您在寻找typeOf,如the Rascal Tutor所述。一个打印其参数的类型可以被定义如下的函数(记得要加import Type;到您的流氓源文件):

void printMyType(&T a) { println("<typeOf(a)>"); } 

实例:

rascal>printMyType(3) 
int() 
ok 

rascal>printMyType("abc") 
str() 
ok 
+0

咄。我在文档中看到了这一点,但并未连接我如何使用它。谢谢! – josh 2014-12-07 01:07:21

+1

不客气。 Upvotes接受;-) – 2014-12-07 07:58:41