Я пытаюсь расширить класс SmallInteger новым методом «квадрат». Идея заключается в том, что я хочу называть «5 квадратов», и она вернется 25.Расширение классов по умолчанию (SmallInteger)
Расширение собственных классов с помощью методов экземпляра довольно просто, поскольку вы знаете имена переменных, но я не знаю переменную имена в классе SmallInteger. Как я могу их найти?
Я думаю, что это должно выглядеть примерно так, но «thisNumber» ссылается на любое количество этого объекта SmallInteger.
SmallInteger extend [
square [
| r |
r := thisNumber * thisNumber.
^r
]
]
Да, это работает. Благодаря! Я действительно пытался использовать «себя» таким образом, но это не помогло: p – Mossmyr
Чтобы узнать немного больше о 'себе', посмотрите [этот ответ] (http://stackoverflow.com/a/33850249/ 4081336) –