You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Сейчас генерация сообщений об ошибке на основе интерполяции строк - типа "... {min} ...".
А должна быть - на основе вызова toString - ведь дескриптор может кастомизировать конверсию значений в строку, для этого у него есть метод toString и соответствующий StringWriter-визитор.
Поэтому в смоллтолковском оригинале там всё начинается с
min := self toString: self min.
max := self toString: self max.
Понятно, что мы пока не написали визиторы StringWriter и StringReader - и, соответственно, методы toString и fromString. Но когда напишем - надо будет переделать.
The text was updated successfully, but these errors were encountered:
Лучше оставить как есть и переопределять __str__ (который и выполняет функцию toString) Либо просто в __str__ делать возврат self.toString()
Во-первых, смысл StringWriter'а и вообще визиторов - это именно задание операции внешним образом. Т.е. какое-то __str__ будет внутри класса. Два-три-десять разных стилей распечатки таким образом не задашь - задашь какой-то один.
Во-вторых, это ж magnitude - у него классы с данными это всякие там int и date - не хочется "портить" их стандартную встроенную реализацию monkey patch'ингом.
Сейчас генерация сообщений об ошибке на основе интерполяции строк - типа
"... {min} ..."
.А должна быть - на основе вызова toString - ведь дескриптор может кастомизировать конверсию значений в строку, для этого у него есть метод toString и соответствующий StringWriter-визитор.
Поэтому в смоллтолковском оригинале там всё начинается с
Понятно, что мы пока не написали визиторы
StringWriter
иStringReader
- и, соответственно, методыtoString
иfromString
. Но когда напишем - надо будет переделать.The text was updated successfully, but these errors were encountered: