EvalRules
に規則 `0^0 := 1' を入れるだけです。
例えば、この定義を作る前は Calc の動作は次のようでした。
2: [-2, -1, 0, 1, 2] 1: [1, 1, 0^0, 1, 1] 1: 0 . . v x 5 RET 3 - 0 V M ^
しかし今や、次のように計算します。
2: [-2, -1, 0, 1, 2] 1: [1, 1, 1, 1, 1] 1: 0 . . U ' 0^0:=1 RET s t EvalRules RET V M ^
もっと驚くことに、この規則は無限大モードにしても正しく機能します。
Calc はいかなる組込み規則よりも EvalRules
を先に試みます。
これにより、Calc のデフォルトの振舞いを変更できます。
無限大モードで Calc は 0^0 を nan
に評価しようとしますが、
書替え規則が先に機能して 1 に評価してしまうのです。
悪ふざけですが、EvalRules
に規則 2+3 := 6
を追加してください。
どうなりますか?
(後でこの規則は間違いなく消してください。
さもないと家計簿の集計に Calc を使ったとき悲しい思いをします!)
Go to the first, previous, next, last section, table of contents.
利用度数