On 1 October 2019 11:23:34 am GMT+02:00, "Andrey Jr. Melnikov" 
<temnota...@gmail.com> wrote:
>Artem Chuprina <r...@lasgalen.net> wrote:
>
>
>> On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov"
><temnota...@gmail.com> wrote:
>> >> При этом что в шелле есть логические операции, что в командной
>строке
>> >> test есть логические операции и они РАЗНЫЕ.
>> >Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR -
>они и в
>> >африке AND и OR.
>
>> Я, конечно, зануда, но должен заметить, что они у нас ни хрена не
>логические. 
>Вы мне тут оба-двое зубы не заговаривайте.
>
>> Они вычислительные, и их результат сильно зависит от порядка записи
>операндов.
>
>Ух, 1 & 0 = 0 таки не 0 & 1 = 0 ? У вас реальность не подтекает?

Пока там _константы_ 1 и 0 — да. И то в sh ровно наоборот :) Потому что в 
логических операциях истина и ложь, а использование для их кодирования 0 и 1, 
мнээ, несколько произвольно.

А вот как только операнды оказываются выражениями с побочными эффектами, так 
сразу нет. И в каждом первом языке считается нормальным, если второй операнд & 
имеет смысл (т.е. шанс не выкинуть исключение) только если первый истинен. И 
если поменять их местами, то вместо false мы в результате получим хрясь.

Для вычислительных and и or это нормально, в теории вычислений есть понятие 
"вычисление не дало осмысленного результата". А для логических — нет.

-- 
Best regards, Artem.

Ответить