前提・実現したいこと
逆ポーランド記法計算機「dc」のスタック制御コマンド'R'の挙動に関する質問です。
'R'はスタックのトップを削除するコマンドであると認識していたのですが、スタックトップの値によって異なった挙動をしており、正式な機能がわかりませんでした。
'R'コマンドの挙動に関してご教示お願いいたします。
発生している問題・エラーメッセージ
文字列"No.1","No.2","No.3"をこの順序でスタックに積み、最後に05の数値をスタックに積んだ状態で'R'コマンドを実行し、'f'コマンドを用いてスタックの中身を全表示したときの結果が以下の通りとなりました。5で独立です。
実行は各数値0
Last Input:0 No.3 No.2 No.1 Last Input:1 No.3 No.2 No.1 Last Input:2 No.2 No.3 No.1 Last Input:3 No.1 No.3 No.2 Last Input:4 No.1 No.3 No.2 Last Input:5 No.1 No.3 No.2
'R'コマンド実行時、スタックトップが0,1のときは元々のスタックの順序が維持され、2のときはスタックの先頭の2要素("No.3","No.2")の順序が交換され('r'コマンドと同様の結果)、3,4,5のときはスタックの底の要素("No.1")が先頭に配置されるという結果になりました。
該当のソースコード
bash上でforを利用して上記の結果を得ました。
bash
1for i in {0..5}; do dc -e "[No.1][No.2][No.3]"$i"R[Last Input:"$i"]f" ; done
試したこと
FreeBSDオンラインマニュアル - dcによると'R'コマンドはスタックトップを削除するものとしか説明されていませんでした。
その他様々なサイトを巡って調べましたが、有効な情報は見つかりませんでした。
当方初学者につき、よろしければこういったコマンドに関する文献の調べ方についてもご教示いただけると幸いです。
補足情報(FW/ツールのバージョンなど)
GNU bash, version 4.4.20
dc (GNU bc 1.07.1) 1.4.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/13 00:45