Rascal中堆栈的最佳方式?

时间:2014-12-05 11:05:38

标签: rascal

我确信Rascal已经内置了对Stack的支持(例如,通过堆栈push / pop表达eval),但我找不到任何东西。

所以我现在用它。但是有更好的方法吗?

list stack = [];

流行:

value = stack[size(stack)-1];
stack = stack - value;

stack = stack + value

2 个答案:

答案 0 :(得分:0)

我建议将pop更改为:

value = stack[-1]; //short hand notation
stack = delete(stack, size(stack)-1); // to make sure the last item is deleted (in case duplicates exist in the list)

答案 1 :(得分:0)

看一下该文档 List模块:列表支持整个动态堆栈相关函数:pushpoptopdup等。