2015-03-22 3 views
3

Как можно безопасно объявить и инициализировать глобальную переменную, используемую пакетом Monticello, чтобы вы не получали ошибок во время загрузки? ДелаетБезопасно объявлять и инициализировать глобальную переменную в пакете monticello?

Smalltalk на: #VarName поставил: varValue

в классе стороне «инициализации» метод одного из классов пакета достаточно? (Я бы предпочел не использовать общие пулы в этом случае.)

ответ

3

Да, этого достаточно. Другим вариантом будет использование ленивой инициализации:

^ VarName ifNil: [ VarName := value ] 

Мне любопытно, почему вы используете глобальную переменную? По моему опыту, очень мало случаев, которые не могут быть решены без использования глобальных переменных, и я считаю, что в большинстве случаев использование глобальной переменной является намеком на плохой дизайн.

+1

Эта ленивая инициализация будет работать, но переменная будет по-прежнему незаявленной. Поэтому в любом случае, чтобы получить правильную глобальную переменную, вы должны ее объявить. –

Смежные вопросы