Go to the first, previous, next, last section, table of contents.


引数の保持

K (calc-keep-args) コマンドは、 そのあとに続くコマンドに先行するプリフィックスのように振舞います。 そして、コマンドがその引数をスタックから取り去ることを防止します。 例えば 2 RET 3 + と打つとスタックには唯一 5 が残りますが、 2 RET 3 K + とすると、スタックには引数と結果の両方 `2 3 5' が残ります。

これは、スタックから引数を取るコマンド全てについて機能します。 他の例を挙げると、K a s は式を簡単化して、 (普通なら元の式と置換えるところ)元の式の上に簡単化バージョンを push します。

ちなみに、RET a s とすると、 式をコピーしてからそのコピーを簡単化するので、 上と同じ結果が得られます。 違うのは、非常に大きい式の場合、 RET a s のコピー段階でちょっと時間がかかりますが、 K a s はよけいな手間がかかりません。

スタック操作コマンド群であっても影響を受けます。 TAB は2つの値をpopして逆順にpushするコマンドなので、 2 RET 3 K TAB とすると `2 3 3 2' となります。

同じ事を違うやり方でやる Calc コマンドもあります。 例えば ' sin($) は、 代数的入力でスタックの値を引数として取り去り、そのサインに置換えます。 元の引数を保持したままサインを push するには、 ' sin($1)K ' sin($) もどちらも使えます。 また、s s コマンドは K s t と結果的に同等です。 変数のストア 参照 。

K プリフィックスは、 キーボード・マクロと相互作用してしまって驚くかもしれません。 例えば、ある数の平方根に他の数を加えるようなマクロ `Q +' を組んだとします。 K X とタイプすると、K Q + が実行され、意図した動作にはなりません。 K プリフィックスは、マクロ全体ではなく、 マクロ内の最初のコマンドにだけ作用するのです。

コマンドを実行したあとで引数を保持しておくべきだったことに気付いたら、 M-RET (calc-last-args) を押してください。 このコマンドは、最後に pop された引数をスタックに push します。 ただし K を使った場合とは、 スタック上の並び順が異なることに注意してください。 2 RET 3 + M-RET とすると、 スタックには `5 2 3' が残り、 K を使った場合の `2 3 5' とは異なります。 誤操作の取消し 参照 。


Go to the first, previous, next, last section, table of contents.     利用度数