:: Visual Foxpro, Foxpro for DOS
Re: if ! (L_VAR_STR == "Ver")
AdamAry

Сообщений: 843
Дата регистрации: 14.12.2015
Igor Korolyov
L_VAR_STR = .NULL.
?(L_VAR_STR != "Ver")==(L_VAR_STR != "Ver")
Будет то же самое.
Ratings: 0 negative/0 positive
Re: if ! (L_VAR_STR == "Ver")
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
AdamAry
Будет то же самое.
Да ладно? А проверить?
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
AdamAry

Сообщений: 843
Дата регистрации: 14.12.2015
Робот ответил:
pasha_usue
"Двадцать седьмой апрель, никчему не верь."

Цитата:
Будет то же самое.
Да ладно? А проверить?



Исправлено 1 раз(а). Последнее : AdamAry, 27.04.17 14:30
Ratings: 0 negative/0 positive
Re: if ! (L_VAR_STR == "Ver")
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
AdamAry
Igor Korolyov
L_VAR_STR = .NULL.
?(L_VAR_STR != "Ver")==(L_VAR_STR != "Ver")
Будет то же самое.

Вы как Путин на встрече с Меркель:
- Чтобы не делай в первую брачную ночь, результат будет один и тот же.

L_VAR_STR = .NULL.
? VARTYPE(L_VAR_STR)
? L_VAR_STR
?
L_VAR_STR = TRANSFORM(L_VAR_STR)
? VARTYPE(L_VAR_STR)
? L_VAR_STR
?
? (! L_VAR_STR = "Ver")==(L_VAR_STR != "Ver")
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
AdamAry
Igor Korolyov
L_VAR_STR = .NULL.
?(! L_VAR_STR = "Ver")==(L_VAR_STR != "Ver")
Будет то же самое.

Не верь всему, а то тебе так же докажут, что A=2 и A=2 - это тоже не одно и то же.

A = .null.
? (A=2) = (A=2)



Исправлено 2 раз(а). Последнее : akvvohinc, 28.04.17 00:20
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
of63
Автор

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Про NULL надо прямо заявить, а читателю ПРОВЕРИТЬ, что в фокс примерно вот так:
? .T. = .NULL. && NULL
? .T. + .NULL. && NULL
...
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Можно еще добавить, что сравнивают значения одного типа, а на NULL проверяется функцией ISNULL(), а не оператором сравнения.
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
of63
Автор

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Точно!
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
AdamAry

Сообщений: 843
Дата регистрации: 14.12.2015
Разные типы, но ведь равны:

lulgu
L_VAR_STR = .NULL.
? VARTYPE(L_VAR_STR)
? L_VAR_STR
?
L_VAR_STR = TRANSFORM(L_VAR_STR)
? VARTYPE(L_VAR_STR)
? L_VAR_STR
?
? (! L_VAR_STR = "Ver")==(L_VAR_STR != "Ver")
Ratings: 0 negative/0 positive
Re: if ! (L_VAR_STR == "Ver")
AdamAry

Сообщений: 843
Дата регистрации: 14.12.2015
akvvohinc
A = .null.
? (A=2) = (A=2)

Да, есть умельцы показывающие равное неравным.
Ratings: 0 negative/0 positive
Re: if ! (L_VAR_STR == "Ver")
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
AdamAry
akvvohinc
A = .null.
? (A=2) = (A=2)

Да, есть умельцы показывающие равное неравным.
А оно и неравное. Оно .NULL.
Без .NULL. как-то теория реляционных баз не выстраивается. Поэтому в базовую логику и арифметику ввели .NULL.
Поэтому логика у СУБД не бинарная, а бинарная плюс .NULL.
И арифметика такая же.
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
AdamAry
Разные типы, но ведь равны:
lulgu
L_VAR_STR = .NULL.
? VARTYPE(L_VAR_STR)
? L_VAR_STR
?
L_VAR_STR = TRANSFORM(L_VAR_STR)
? VARTYPE(L_VAR_STR)
? L_VAR_STR
?
? (! L_VAR_STR = "Ver")==(L_VAR_STR != "Ver")

Нет.
Здесь типы при сравнении одинаковы - символьные.
Это тебя путают.

Сначала на экран выводится
.NULL. && так изображается значение типа null

А во втором случае:
.NULL. && так изображается строка, содержащая символы ".NULL."

Внешне отличий нет.
(но тип переменной показывает vartype())



Исправлено 2 раз(а). Последнее : akvvohinc, 28.04.17 08:48
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
akvvohinc
Сначала на экран выводится
.NULL. && так изображается значение типа null
Сильно зависит от настройки SET NULLDISPLAY
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
pasha_usue
akvvohinc
Сначала на экран выводится
.NULL. && так изображается значение типа null
Сильно зависит от настройки SET NULLDISPLAY

А еще от цвета текста/фона, фонта и еще кучи придумок, как "попортить" рабочую среду по умолчанию.
Ratings: 0 negative/0 positive
Re: if ! (L_VAR_STR == "Ver")
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
akvvohinc
pasha_usue
akvvohinc
Сначала на экран выводится
.NULL. && так изображается значение типа null
Сильно зависит от настройки SET NULLDISPLAY

А еще от цвета текста/фона, фонта и еще кучи придумок, как "попортить" рабочую среду по умолчанию.
У меня в рантайме нуллы погашены.
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
pasha_usue
У меня в рантайме нуллы погашены.

Ok.
Тогда все претензии - к автору того примера, который не учел, что его будут смотреть в рантайме с такой настройкой.



Исправлено 1 раз(а). Последнее : akvvohinc, 28.04.17 09:56
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
akvvohinc
Не верь всему, а то тебе так же докажут, что A=2 и A=2 - это тоже не одно и то же.
A = .null.
? (A=2) = (A!=2)
Ну значицца и A=2 это то же самое что и A!=2...

А вообще речь шла изначально совсем о другом.

2 оператора никак не эквивалентны одному оператору. Хотя по сути и выполняют "сходную функцию".


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: if ! (L_VAR_STR == "Ver")
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
Igor Korolyov
Ну значицца и A=2 это то же самое что и A!=2...

Наоборот - все эти примеры, возвращая Null, а не True, "доказывают" неравенство операндов.

Igor Korolyov
А вообще речь шла изначально совсем о другом.
2 оператора никак не эквивалентны одному оператору. Хотя по сути и выполняют "сходную функцию".

Ты первый привел пример с Null как "доказательство" того, что это не одно и то же (я так понял цель этого примера). Хотя сами выражения хоть и не одинаковы, но эквивалентны.

А последующие примеры типа:
2+2 = 4
2*2 = 4

должны были показать - совпадение результата не означает эквивалентности выражений.

Но в отличие от умножения и сложения исходный пример ТС при любых операндах приводит к одинаковому результату, даже при Null.
А вот то, что для Фокса Null не равен Null - к сути не относится.

Самый наглядный пример привел Simple777 27.04.17 12:51:06 про вождя мирового пролетариата, где разная суть приводила к одинаковому результату.
То есть, он явно хотел этим сказать, что у
!(A=B)
и
A!=B
разная суть.

lulgu предложил "добавить в условия еще операторы, чтобы в этом убедиться".

То есть, все усиленно притворялись, что не понимают, о чем ведет речь ТС.



Исправлено 9 раз(а). Последнее : akvvohinc, 28.04.17 18:22
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 39 PaulWist  (Гостей: 38)

© 2000-2024 Fox Club 
Яндекс.Метрика