Rascal には Stack のサポートが組み込まれていることは確かですが (たとえば、スタックのプッシュ/ポップによる式の評価)、何も見つかりません。
なので今はこれを使っています。しかし、より良い方法はありますか?
list stack = [];
ポップ:
value = stack[size(stack)-1];
stack = stack - value;
押す
stack = stack + value
Rascal には Stack のサポートが組み込まれていることは確かですが (たとえば、スタックのプッシュ/ポップによる式の評価)、何も見つかりません。
なので今はこれを使っています。しかし、より良い方法はありますか?
list stack = [];
ポップ:
value = stack[size(stack)-1];
stack = stack - value;
押す
stack = stack + value
Have a look at the documentation of the
List module: lists support a whole zoo of stack-related functions: push
, pop
, top
, dup
, etc.
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)