3

如何检查我的变量是否有注释?

我知道这可以使用关键字为属性完成has

是否有类似的方法可以为注释执行此操作?

4

1 回答 1

4

有两种方法可以做到这一点。我已经在下面给出的代码中显示了两者。

rascal>data T = c(int x);
ok

rascal>anno bool T@truth;
ok

rascal>v1 = c(1)[@truth=true];
T: c(1)[
  @truth=true
]

rascal>v2 = c(2);
T: c(2)

rascal>(v1@truth)?
bool: true

rascal>(v2@truth)?
bool: false

rascal>import Node;
ok

rascal>"truth" in getAnnotations(v1);
bool: true

rascal>"truth" in getAnnotations(v2);
bool: false
于 2013-05-24T14:47:41.580 回答