Просьба высказаться, как вы относитесь к подобному заявлению.
Авторство будет указано позднее.
--------------------------------------------------
(1) A = null эквивалентно
(2) A — null = 0 (договоримся, что A — числовой тип).
Выражение (2) не имеет смысла, так как ни при каком А нельзя заранее
сказать, что оно верно.
Для некоторых арифметических выражений, однако, null вполне применим.
Hапример,
0 * null = 0
null*null >= 0
2*null — четно
и так далее.
---------------------------------------------------
01.04.04 17:41: Перенесено модератором из 'ATL/WTL' — AS — AS
Здравствуйте, dr.who, Вы писали:
DW>Просьба высказаться, как вы относитесь к подобному заявлению. DW>Авторство будет указано позднее.
DW>-------------------------------------------------- DW>(1) A = null эквивалентно DW>(2) A — null = 0 (договоримся, что A — числовой тип).
DW>Выражение (2) не имеет смысла, так как ни при каком А нельзя заранее DW>сказать, что оно верно. DW>Для некоторых арифметических выражений, однако, null вполне применим. DW>Hапример, DW>0 * null = 0 DW>null*null >= 0 DW>2*null — четно
DW>и так далее. DW>---------------------------------------------------
0 * бесконечность != 0
2*PI — нечетное, в том смысле что на два нацело не делится.
Ничего не понял. Что такое "ни при каком А нельзя заранее сказать, что оно верно"? Заранее до чего? До зачета?
Если A!=null, то можно вполне заранее до получения точного значения А сказать, что выражение гарантированно неверно (заметьте, это сильнее, чем "нельзя сказать 'верно'"). Если А = null, то в (2) мы получаем (null-null). Трактовка этого выражения — дело вкуса. В SQL, например, результат любой операции тождественно равен null, если один из аргументов null. Тогда null-null->null, и выражение A==null не может быть справедливо ни для каких А. Там это разруливается введением третьего состояния в логику, и (A==null)->unknown (фактически unknown это такой специальный вариант того же самого нулла. Его существование связано с тем, что в SQL отсутствует логический тип данных, из-за этого логические операторы и обычные операторы действуют в непересекающихся пространствах. Вот и null пришлось сделать отдельный).
Однако никто не мешает нам ослабить требования к операциям с null; если трактовать его как специальное значение, а не как отсутствие данных, то можно положить null-null->0, и сравнение А с нулл будет происходить вполне корректно. (В SQL приходится пользоваться оператором is null для такого сравнения).
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
<true>> OR NULL = <true> Z><false> AND NULL = <false>
Нет. никаких OR NULL или AND NULL не бывает. Бывает OR UNKNOWN и AND UNKNOWN. Вот они себя ведут именно так:
TRUE OR UNKNOWN -> TRUE
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
DW>-------------------------------------------------- DW>(1) A = null эквивалентно DW>(2) A — null = 0 (договоримся, что A — числовой тип).
DW>Выражение (2) не имеет смысла, так как ни при каком А нельзя заранее DW>сказать, что оно верно. DW>Для некоторых арифметических выражений, однако, null вполне применим. DW>Hапример, DW>0 * null = 0 DW>null*null >= 0 DW>2*null — четно
О каком языке программирования идёт речь?
Если судить по заголовку, то кажется, что о С или С++, если по сообщению, то больше похоже на java-script.
Здравствуйте, dr.who, Вы писали:
DW>Просьба высказаться, как вы относитесь к подобному заявлению. DW>Авторство будет указано позднее.
DW>-------------------------------------------------- DW>(1) A = null эквивалентно DW>(2) A — null = 0 (договоримся, что A — числовой тип).
DW>Выражение (2) не имеет смысла, так как ни при каком А нельзя заранее DW>сказать, что оно верно. DW>Для некоторых арифметических выражений, однако, null вполне применим. DW>Hапример, DW>0 * null = 0 DW>null*null >= 0 DW>2*null — четно
DW>и так далее. DW>---------------------------------------------------
Бред то какой.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, dr.who, Вы писали: DW>-------------------------------------------------- DW>(1) A = null эквивалентно DW>(2) A — null = 0 (договоримся, что A — числовой тип).
То есть из A-0 = null && A-0=A -> A = null ?
вместо null можно подставить в арифметике что угодно ...
DW>Для некоторых арифметических выражений, однако, null вполне применим. DW>Hапример, DW>0 * null = 0
опять же ...
вместо null можно подставить в арифметике что угодно ...
DW>null*null >= 0
опять же ...
вместо null можно подставить в арифметике что угодно ... DW>2*null — четно
А если я буду утверждать, что A*null делиться нацело на 7, то что ... ?
Здравствуйте, dr.who, Вы писали:
DW>Просьба высказаться, как вы относитесь к подобному заявлению. DW>Авторство будет указано позднее.
DW>-------------------------------------------------- DW>(1) A = null эквивалентно DW>(2) A — null = 0 (договоримся, что A — числовой тип).
DW>Выражение (2) не имеет смысла, так как ни при каком А нельзя заранее DW>сказать, что оно верно. DW>Для некоторых арифметических выражений, однако, null вполне применим. DW>Hапример, DW>0 * null = 0 DW>null*null >= 0 DW>2*null — четно
DW>и так далее. DW>---------------------------------------------------