Извинения за вопрос новичков, но я не смог это понять, несмотря на длительную попытку.Cincom Visualworks Smalltalk - метод класса Инициализация
Я создал класс матрицы, используя функцию NewClass в Visual Cinema.
Smalltalk.Core defineClass: #Matrix
superclass: #{Core.Object}
indexedType: #none
private: false
instanceVariableNames: 'rowCount columnCount cellValues '
classInstanceVariableNames: ''
imports: ''
category: ''
Добавлен следующий метод класса:
withRowCount: rowCount withColumnCount: columnCount withCellValues: cellValues
^self new rowCount: rowCount columnCount: columnCount cellValues: cellValues.
Добавлены следующие методы доступа:
cellValues
^cellValues
cellValues: anObject
cellValues := anObject
columnCount
^columnCount
columnCount: anObject
columnCount := anObject
rowCount
^rowCount
rowCount: anObject
rowCount := anObject
У меня есть этот код в рабочей области:
|myMatrix|
myMatrix := Matrix rowCount: 5 columnCount: 5 cellValues: 5.
Transcript show: (myMatrix rowCount).
Но компилятор говорит это сообщение не определено , Я думаю, мой метод класса работает не так, как ожидалось. Может ли кто-нибудь указать, где я ошибаюсь?
Это был удивительный немой вопрос от меня! Мой код был хорош, за исключением того, что в методе класса я не добавлял ';' между параметрами! Лол! потратил 6 часов на это. \t withRowCount: rowCount withColumnCount: columnCount withCellValues: cellValues \t^self new rowCount: rowCount; columnCount: columnCount; cellValues: cellValues. –