スタック操作ワードはスタックのデータを並べ替えます。
1 .s drop .s 1 .s dup .s drop drop .s 1 2 .s over .s drop drop drop 1 2 .s swap .s drop drop 1 2 3 .s rot .s drop drop drop
上記は最も重要なスタック操作ワードです。 以下のように2つペアでスタック項目を操作する亜種もあります:
1 2 3 4 .s 2swap .s 2drop 2drop
さらに 2 つ、 以下のスタック操作ワードがあります:
1 2 .s nip .s drop 1 2 .s tuck .s 2drop drop
研究課題(assignment):
nip
とtuck
を他のスタック操作ワードの組み合わせに置き換えてみましょう。以下の結果になるスタック操作を考えてみましょう Given: How do you get: 1 2 3 3 2 1 1 2 3 1 2 3 2 1 2 3 1 2 3 3 1 2 3 1 3 3 1 2 3 2 1 3 1 2 3 4 4 3 2 1 1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 3 4 1 2 1 2 3 1 2 3 1 2 3 4 1 2 3 1 3
5 dup * . \ 5^2
研究課題(assignment):
17
を複数回書かずに、 Forth で 17^3 と 17^4 を書いてみましょう。 また、 スタック上の 2 つの数値 (a と b、 スタック頂上を b とする) を想定し、(a-b)(a+1)
を計算する Forth コードを作成してみましょう。
こちらも参照してください: Stack Manipulation