4

SmallInteger クラスを新しいインスタンス メソッド「square」で拡張しようとしています。アイデアは、「5 スクエア」を呼び出せるようにしたいということで、25 が返されます。

インスタンス メソッドを使用して独自のクラスを拡張するのは非常に簡単です。変数名はわかっていますが、SmallInteger クラスの変数名はわかりません。どうすればそれらを見つけることができますか?

私はそれがこのように見えるべきだと思っていますが、「thisNumber」はこの SmallInteger オブジェクトがたまたまある番号を参照しています。

SmallInteger extend [
    square [
        | r |
        r := thisNumber * thisNumber.
        ^r
    ]
]
4

1 に答える 1