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.