OberonCore https://forum.oberoncore.ru/ |
|
Аналог типа bool? из C# (true, false, null) https://forum.oberoncore.ru/viewtopic.php?f=35&t=5006 |
Страница 1 из 1 |
Автор: | kolesiko [ Четверг, 27 Февраль, 2014 20:24 ] |
Заголовок сообщения: | Аналог типа bool? из C# (true, false, null) |
Очень удобно, чтобы делать что-то вроде мемоизации. Проверяем, что переменная равна null, и тогда вычисляем правильное значение. Как-то так: Код: BOOLEAN3 strike = Unknown;
PROCEDURE isStrike(): BOOLEAN3 IF strike = Unknown THEN strike = Здесь идут вычисления; END RETURN strike; END |
Автор: | Rifat [ Четверг, 27 Февраль, 2014 20:43 ] |
Заголовок сообщения: | Re: Аналог типа bool? из C# (true, false, null) |
Можно и по-другому: Код: TYPE Bool = POINTER TO RECORD b: BOOLEAN END; Только зачем? |
Автор: | kolesiko [ Четверг, 27 Февраль, 2014 21:47 ] |
Заголовок сообщения: | Re: Аналог типа bool? из C# (true, false, null) |
Rifat писал(а): Можно и по-другому: Спасибо, а то мне единственное, что приходило в голову - использовать INTEGER (-1, 0, 1) и функции наподобие isDefined(), isTrue(), isFalse()... Цитата: Только зачем? Я же привел пример использования. Или вы можете предложить что-то более идиоматичное? |
Автор: | Пётр Кушнир [ Пятница, 28 Февраль, 2014 11:02 ] |
Заголовок сообщения: | Re: Аналог типа bool? из C# (true, false, null) |
Rifat писал(а): Можно и по-другому: Код: TYPE Bool = POINTER TO RECORD b: BOOLEAN END; Только зачем? Ну, кстати, при работе с SQL можно заметить, что там некоторые поля в таблицах могут быть Nullable, то есть кроме валидных значений для типа появляется еще и общее NULL. И в КП его иногда просто не на что отобразить при получении результатов запроса. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |