Да, сравнение логических величин по идее бред, хотя по внутреннему представлению(0 или 1) они получаются сравнимыми. А в моем случае более явным было бы именно сравнение - там надо отсортировать объекты, у которых есть логический флаг "системный/пользовательский" в первую очередь по этому флагу, а потом по имени.
Ну, тогда явно надо перевести логические переменные в другой тип (байтовый, например) и сравнивать. Или на ассемблере написать кусочек. Опора на внутренне представление - некорректна в принципе. Либо мы пользуемся языком высокого уровня, либо работаем непосредственно с машинными представлениями и на себя возлагаем соответствующую ответственность. Как-то так.
«Все Писание богодухновенно и полезно для научения, для обличения, для исправления, для наставления в праведности, да будет совершен Божий человек, ко всякому доброму делу приготовлен». (2 Тим 3:16-17)
Хм... Внутреннее представление... Нолики-единички... Вот в Ruby, например, true и false это не только не 1 или 0, а объекты разных классов (TrueClass и FalseClass). Почему в ЯВУ «До-диез» это должны быть обязательно 1 и 0? Сказать меньше или больше можно тогда, когда определяется величина на сколько. На сколько ложь меньше истины? На столько?
((a?1:0) < (b?1:0)), если выражения вида (!a && b) не устраивают? :\
Сказать меньше или больше можно тогда, когда определяется величина на сколько. Эээ, а множеств, на которых определена операция сравнения и не определена операция разности, не бывает разве? Хотя в данном случае я операцию сравнения определяю фактически от фонаря - системные библиотеки(с флагом true) выводятся в начале, пользовательские в конце, т.е. true<false.
Всё верно
Писать надо явно. Оно и понятнее потом будет.
Re: Всё верно
А в моем случае более явным было бы именно сравнение - там надо отсортировать объекты, у которых есть логический флаг "системный/пользовательский" в первую очередь по этому флагу, а потом по имени.
Re: Всё верно
Опора на внутренне представление - некорректна в принципе. Либо мы пользуемся языком высокого уровня, либо работаем непосредственно с машинными представлениями и на себя возлагаем соответствующую ответственность. Как-то так.
Re: Всё верно
«Все Писание богодухновенно и полезно для научения, для обличения, для исправления, для наставления в праведности, да будет совершен Божий человек, ко всякому доброму делу приготовлен». (2 Тим 3:16-17)
Хм... Внутреннее представление... Нолики-единички... Вот в Ruby, например, true и false это не только не 1 или 0, а объекты разных классов (TrueClass и FalseClass). Почему в ЯВУ «До-диез» это должны быть обязательно 1 и 0? Сказать меньше или больше можно тогда, когда определяется величина на сколько. На сколько ложь меньше истины? На столько?
((a?1:0) < (b?1:0)), если выражения вида (!a && b) не устраивают? :\
Re: Всё верно
Эээ, а множеств, на которых определена операция сравнения и не определена операция разности, не бывает разве?
Хотя в данном случае я операцию сравнения определяю фактически от фонаря - системные библиотеки(с флагом true) выводятся в начале, пользовательские в конце, т.е. true<false.