Допустим, я пытаюсь описать свой код на техническом совещании.
Сначала я установил логическое
foobar
значениеtrue
а также
Во-вторых, я установил логическое
foobar
значениеfalse
кажется немного многословным Если foobar
бы меня переключили, я бы, наверное, сказал:
В-третьих, я переключаю
foobar
Подразумевается, что это логическое значение. Так я не должен быть в состоянии:
В- четвертых, я Truthify Foobar
а также
В-пятых, я фальсифицирую фубар
Что также косвенно скажет моим слушателям, что мы имеем дело с булевой переменной? Есть ли подходящая терминология для этого? Спасибо.
terminology
boolean
Акива
источник
источник
Ответы:
Конечно, вы также можете использовать «установив его на истинное» и «установив на ложное» .
источник
Если это вообще возможно, вместо того, чтобы фокусироваться на логическом значении, вы должны попытаться описать, что оно представляет. Некоторые примеры:
Таким образом, вы будете говорить в более естественных терминах. И поэтому на собрании вместо «правдивого foobar, а затем фальсификации» вы просто «запустите foobar, а затем остановите его» (если foobar действительно является службой).
Когда вам действительно нужно поговорить о логическом значении, вы можете выбрать «установить / сбросить» или «установить в значение true» и «установить в значение false». "Toggle" звучит довольно приятно во всех контекстах.
И если вы работаете в булевом магазине (что бы это ни значило), вам, вероятно, нужно больше слов, чем то, что может предложить словарь. В этом случае истина и фальсификация - это просто части вашего микропоговора .
источник
signal = HighVoltage
илиsignal = Active
ИМХО намного понятнееsignal = true
.isStarted
,isActive
,isCaseSensitive
,mockConnection
, ... @PieterB: Я частично согласен с вами. «Установить логическое значение» по своей сути не означает установить его в значение true. Тем не менее, «УстановитьisActive
флаг» может быть разумно истолковано как означающее установку его в значение «истина».signal = true
Это действительно не ясно, но если вы собираетесь использовать,signal = Active
то вы могли бы также использоватьisSignalActive = true
. Обратите внимание, что это относится главным образом к дескрипторам, которые являются явно взаимоисключающими и точными дополнениями. Активный / Неактивный отвечает всем требованиям. Высокое напряжение не имеет, поскольку «не высокое напряжение» может означать, например, «низкое напряжение» или «низкое или среднее напряжение». В последнем случае логический аргумент явно не применяется. В первом случае это так.Мне нравится «установить» / «очистить», но будьте осторожны с неоднозначностью в вашей фразе. Как указывает Филип , «установка переменной bool» может означать запись некоторого значения в переменную. Но «установка флага» более понятна.
Связанная терминология: преобразование 0 / ненулевого целого числа в значение 0/1 называется «логическим значением» .
Если вы на самом деле используете значение 0/1 как целое число (а не как true / false
bool
), вы можете использовать это слово. В противном случае он, вероятно, появится, только если вы говорите о стоимости операций, которые должен выполнить компилятор. (Или, если вы вручную векторизуете с помощью SIMD, сравните, чтобы получить все ноль / все-один бит в каждом элементе вектора).В C и C ++ a
bool
может неявно преобразовывать обратно в целое число как 0 или 1, а в обычных реализацияхbool
хранится как однобайтовое значение, равное 0 или 1 (не просто любое ненулевое значение). Это позволяет эффективноa && b
, но на практике многие компиляторы C пропустили оптимизацию .Эта функция компилируется в несколько инструкций (не включая
ret
) на большинстве архитектур. (MIPS - интересное исключение, имеющее инструкции сравнения в регистр вместо отдельного регистра флага / кода условия). в проводнике компилятора Godbolt для большого пальца x86-64, MIPS и ARM мы можем увидеть версию x86-64:Извините, этот пример того, что логическое выражение получилось немного большим / не по теме!
источник
Я думаю, что «установить
Foobar
в истину» и «установитьFoobar
в ложь» являются прямыми и краткими. Я не верю, что есть отдельные слова для этих фраз, и когда вам нужно быть технически и точным, иногда лучше быть готовым быть немного словесным, чем рисковать смущать вашу аудиторию.источник
«Настройка» - это правильный способ описания действия по присвоению значения переменной. Если вы хотите получить педантичный об этом, вы могли бы назвать это «назначение», но «набор» является очень распространенным. На самом деле, это идиоматическая Java - писать
setFoobar()
(иgetFoobar()
) методы для выполнения присваивания. C # делает шаг дальше сget
иset
определения собственности.Что касается вашего второго пункта об использовании «trueify» и «falsify» to «посредством импликации, скажите моим слушателям, что мы имеем дело с булевой переменной», вы уже говорите своим слушателям, что переменная «Boolean», когда вы говорите:
источник
isFoobar()
Можно также использовать Assert или Retract , чаще всего, когда речь идет о предложениях, а не о простых переменных, например, в Prolog. Обычно существуют разные термины, зависящие от того, что представляет логическое значение, а не один общий термин для всех языков, имеющих логические значения (установить / очистить флаг или бит, включить / отключить устройство или режим, утверждение / убрать предложение, возможно, больше).
источник
Изменение логического значения с
true
наfalse
или наоборот называется отрицанием .Чтобы установить значение логического значения,
false
считается фальсификацией логического значения. Я бы понял вас, если бы вы сказали «правда», однако это звучит неправильно. Я не уверен, что глагол для тогоtrue
, чтобы сделать что-то , так что это может быть правильно.Я бы подождал, пока кто-нибудь с лучшим ответом придет, прежде чем вы начнете использовать «правду» волей-неволей.
источник
Логическое является эквивалентом SPST (однополюсный, одного броска) электрический выключатель: один поворачивает его на или прочь .
источник
done
переменную» или «error
Переменная выключена», оба звучат немного выключенными, по крайней мере, для меня. Альтернативы, предложенные другими ответами, кажутся более распространенными - «Установитеdone
переменную / bool / flag [в true]» или «error
Флаг очищен».