私は Seven Programming Languages in Seven Weeks を読んでいますが、問題の 1 つに次のように書かれています。
分母がゼロの場合、どのように変更/して戻りますか?0
私は最初に自分自身/を定義し、その実装を次の/ように元のメソッドにプロキシしようとしました:
Number oldSlash := Number getSlot("/")
Number / = method(x, Number oldSlash(x))
しかし、それは私にとってはうまくいきませんでした。いくつかのグーグルを行った後、同様のコードを見つけました。私が見つけたコードselfは、メソッドの実装で使用されていました。だから、私は使用selfしてみましたが、うまくいくようでした:
Number oldSlash := Number getSlot("/")
Number / = method(x, self oldSlash(x))
私の質問は次のとおりです。キーワードが使用されているときにこれが機能するのはなぜですか。代わりselfに が使用されていると機能しないのはなぜですか?Number