if语句中的Rascal语法错误(新手q)

时间:2014-05-13 12:00:05

标签: if-statement rascal

以下是什么问题?

我在最后一行收到语法错误,就在if

之后

模块mytest

int n = if (3 > 2) 1; else 0;

THX, --Dennis。

1 个答案:

答案 0 :(得分:1)

Rascal中的顶级声明(包括控制台中的声明)期望右侧有一个表达式,因此您需要改为:

int n = ( 3 > 2 ) ? 1 : 0;

如果你在一个函数内部,那么允许的内容就不一致了,所以这应该可以正常工作:

n = if (3 > 2) 1; else 0;

但是你上面所做的也不会在那种情况下工作。