|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Getter на уровне пакета, реально ли?
Заметил какую-то неземную чушь. Объявил get-функцию на уровне безымянного пакета:
Сработало без проблем. Стоило закинуть ее в какой-либо пакет, начало ругаться, мол Чем это вообще обусловлено? |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Может импортировать функцию надо?
|
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Я не спрашиваю, зачем это вообще надо, но бага интересная)
__________________
Отряд Котовскага |
|
|||||
Modus ponens
|
Не бага, так задумано. Когда-то тоже с этим сталкивался. Геттеры - методы специализирующиеся на каком-то объекте, так же как и другие методы класса (т.е. специализирующиеся на этом классе). Когда вы пытаетесь объявить его вне класса - вы ему не сообщаете на чем специализироваться - вот он и не может быть созданным.
__________________
Hell is the possibility of sanity |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
А чем это отличается от глобального функции/методе Или глобальной константы?
__________________
Отряд Котовскага |
|
|||||
Modus ponens
|
Это скорее баг... что-то из серии, как в С++ можно вызвать метод несуществующего объекта, если этот метод никогда к this не обращается. Возможно имеет смысл написать баг репорт для выяснения обстоятельств.
Тут еще фишка в том, что геттер состоит как бы из двух разных составляющих: одна - дать доступ к полям объекта (которого в случае с геттером объявленым вне класса просто нет), а другая - чисто синтаксический "сахар", заключающийся в том, что не нужно писать set(i, get(i) + 1) конструкции для того, чтобы i++ заработало. Вполне возможно, что вторая причина вполне достаточна для того, чтобы это существовало и на уровне пакетов.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 13:22. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|