Re: оператор ?. не работает с option
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.12.11 19:27
Оценка:
Здравствуйте, _Claus_, Вы писали:

_C_>собственно интуитивно ожидается, что должен работать и возвращать Value, однако же нет.

_C_>недоработка или что-то другое?

?. защищает доступ к членам. Откровенно говоря я не предполагал, что кто-то будет использовать его с option[T] для обхода None.

С другой стороны ?? родственный оператор и он работает с option[T]. Так что даже не знаю.

К тому же option[T] — это сам по себе ссылочный тип и члены возвращающие этот тип могут содержать null. Так что если изменить его поведение, то могут быть проблемы в других местах.

В общем, хотелось бы услышать другие мнения. Нужно ли прикручивать поддержку option[T] к "?.", и что при этом делать с проверкой на null самого члена типа option[T]?

ЗЫ

Чем больше думаю над option[T], тем больше понимаю, что надо было его структурой делать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.