我确信Rascal已经内置了对Stack的支持(例如,通过堆栈push / pop表达eval),但我找不到任何东西。
所以我现在用它。但是有更好的方法吗?
list stack = [];
流行:
value = stack[size(stack)-1];
stack = stack - value;
推
stack = stack + value
答案 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模块:列表支持整个动态堆栈相关函数:push
,pop
,top
,dup
等。