是否可以在 Rascal 中定义自己的运算符?
Is it possible to define your own operators in Rascal?
我正在编写一些测试辅助函数以使输出更合理:
bool tstEq(first, second) {
if(first == second)
return true;
else {
println("<first> was not equal to <second>");
return false;
}
}
是否可以这样做?
bool ===(first, second) = tstEq(first, second);
用法:
test bool myTest() = 1 === 2
这会导致类似的结果:
rascal>:test
1 was not equal to 2
bool: false
简短的回答:没有。我完全同意这可能很方便(但也可能导致代码可读性降低)。
考虑到我们要首先解决的主题列表很多,这样的功能不太可能在不久的将来出现在 Rascal 中。
我正在编写一些测试辅助函数以使输出更合理:
bool tstEq(first, second) {
if(first == second)
return true;
else {
println("<first> was not equal to <second>");
return false;
}
}
是否可以这样做?
bool ===(first, second) = tstEq(first, second);
用法:
test bool myTest() = 1 === 2
这会导致类似的结果:
rascal>:test
1 was not equal to 2
bool: false
简短的回答:没有。我完全同意这可能很方便(但也可能导致代码可读性降低)。
考虑到我们要首先解决的主题列表很多,这样的功能不太可能在不久的将来出现在 Rascal 中。