“참”,“거짓”및 부울 토글에 대한 용어가 있습니까? [닫은]


23

기술 회의에서 코드를 설명하려고한다고 가정 해 보겠습니다.

먼저 부울 foobartrue

둘째, 부울 foobarfalse

조금 말투처럼 보인다. 경우 foobar전환했다, 아마도, 말할 수

셋째, 나는 토글 foobar

여기에서 암시를 통해 부울을 알 수 있습니다. 그래서 할 수 없어야합니다.

넷째, 나는 foobar를 진실로

다섯째, 나는 foobar를 위조합니다

또한 내 말을 듣는 사람들에게 부울 변수를 다루고 있다고 알려주는 것은 무엇입니까? 이것에 대한 적절한 용어가 있습니까? 감사.


16
"나는 foobar를 true / false로 설정했다"는 말이 많지 않다는 것이 명백하다. "토글"은 청취자에게 상당히 분명합니다.
Filip Milovanović

8
"부울 foobar를 true로 설정하고, 둘째로 boolean foobar를 false로 설정했습니다." 처음에는 거짓으로 설정하지 않았습니까? ;)
David Arno

2
난 항상이 반전이라고 생각했다,하지만 분명히 그 비트에 대한 용어입니다 ,하지 bools는
e_i_pi

16
위조 를 만들고 값을 false로 설정하지 않는 것과 같이 위조 를 읽었습니다 .
코드 InChaos

6
그러한 낮은 수준에서 코드를 설명해야합니까? 누군가가 저수준의 설명을 원한다면 분명히 코드를 읽을 것입니다. 나는 그러한 용어를 사용해야 할 이유가 없다고 말하지 는 않지만 그 용어가 드물 것으로 기대합니다.
Dukeling

답변:


52
  • 값을 true로 설정 하면 설정 됩니다
  • false로 설정하면 지워 집니다.
  • 현재 값을 변경하면 전환 됩니다.

물론 "true로 설정 ""false로 설정 "을 사용할 수도 있습니다 .


10
값을 지우는 것처럼 false로 설정하는 것은 상관이 없습니다. 나를 위해 클리어한다는 것은 참 또는 거짓을 의미합니다.
Pieter B

49
@PieterB : 글쎄요. 문맥에 따라 다릅니다. 부울 플래그에 대해 이야기하는 경우 플래그를 "설정"및 "지우기"는 매우 일반적인 용어입니다.
Filip Milovanović

7
@ FilipMilovanović 변수와 관련하여 변수를 설정한다는 것은 변수에 값을 할당하는 것을 의미하며 부울 변수와 관련하여이 값은 true 또는 false 일 수 있습니다. 말하기는 이상 할 것입니다. 변수를 설정한다는 것은 값을 할당하는 것을 의미합니다 ... 부울 변수 인 경우를 제외하고 실제로 설정했을 때를 제외하고 값을 할당한다는 것을 의미합니다. "true"
Pieter B

6
@PieterB "true 또는 false"가 아닌 경우 이진 부울 (대부분의 사람들이 단어를들을 때 생각하는 것)이 아니라 삼항 true / false / 불확실한 것입니다. 말하자면, 명확하고 명확한 용어는 깃발에서 나옵니다. 모든 부울 변수가 플래그 인 것은 아니므로 용어는 많은 사용 사례에 부적합합니다.
큐빅

7
@PieterB : 그래- "부울 변수 설정"이라고 말하고 모든 사람이 "실제로 설정"을 의미한다고 이해하는 것이 이상 할 것입니다. 그러나 플래그를 나타내는 경우 "플래그 설정"은 일반적으로 사용되는 것으로 플래그를 나타내는 bool 값을 true로 설정하거나 플래그를 나타내는 비트를 1로 설정하는 것을 의미합니다. (PS 그러나 immibis의 대답은 그것을 고려하지 않습니다.)
Filip Milovanović

66

부울 값에 초점을 맞추지 않고 가능하면 해당 값을 나타내는 것을 설명해야합니다. 몇 가지 예 :

  • 서비스? started = true / false 대신 시작 / 중지
  • 게임 엔진의 특수 효과? 온 / 오프
  • 전기 신호? 설정 / 재설정
  • ...

이런 식으로보다 자연스러운 용어로 이야기 할 수 있습니다. 따라서 회의에서 "foobar를 무시하고 위조하는 것"대신 "foobar를 시작한 다음 중지하십시오"(foobar가 서비스 인 경우).

부울 값에 대해 이야기해야 할 경우 "set / reset"또는 "set to true"및 "set to false"로 이동할 수 있습니다. "토글"은 모든 상황에서 아주 좋은 소리입니다.

그리고 부울 상점에서 일하는 경우 (그 의미가 무엇이든간에) 사전이 제공하는 것보다 더 많은 단어가 필요할 것입니다. 이 경우에, 진실과 위조는 단순히 당신의 microspeak의 일부입니다 .


16
동의해야합니다 ... 부울은 실제로 말하는 것을 모델링하는 구현입니다 ... 대신 그것에 대해 이야기하십시오!
Maybe_Factor

2
부울을 설정하는 것에 대해 말하는 것을 좋아하지 않습니다. 변수로 작업하는 방식은 초기화되지 않은 상태로 시작되므로 기본적으로 아직 사용할 수 없으며 변수 설정 (true 또는 false)은 초기화입니다. 항상 true로 설정하면 혼동 될 수 있습니다.
Pieter B

1
또한 이러한 용어 사용은 코드로도 변환됩니다. 내장 부울 유형 대신 두 개의 값 열거 형을 사용하는 것이 더 낫습니다. signal = HighVoltage또는 signal = ActiveIMHO가보다 명확합니다 signal = true.
큐빅

이름이 올바르게 지정된 부울 속성 / 변수는 항상 값에 사용해야하는 이름을 즉시 나타냅니다. 생각 isStarted, isActive, isCaseSensitive, mockConnection내가 부분적으로 당신과 동의, ... @PieterB. "부울 설정"이 본질적으로 true로 설정되는 것은 아닙니다. 그러나 " isActive플래그 설정 "은 해당 플래그를 true로 설정하는 것으로 합리적으로 해석 될 수 있습니다.
Flater

1
@Cubic : 동의하지 않습니다. 향후 확장을 제외하고 이진 열거 형은 필요하지 않은 것 같습니다. signal = true실제로 명확하지 않지만 사용하려는 signal = Active경우을 사용할 수도 있습니다 isSignalActive = true. 이것은 주로 상호 배타적이고 정확하게 보완되는 설명자에 적용됩니다. 활성 / 비활성이 청구서에 맞습니다. "고전압이 아닌"은 예를 들어 "저전압"을 의미 할 수 있거나 "저전압 또는 중전 압"을 의미 할 수 있기 때문에 고전압은 그렇지 않습니다. 후자의 경우 부울 인수는 분명히 적용되지 않습니다. 전자에서는 그렇습니다.
Flater

2

"set"/ "clear"가 마음에 들지만 문구가 애매 모호하다는 점에주의하십시오. 으로 필립 지적 , 변수에 어떤 값을 쓰는 의미로 취할 수있다 "는 부울 변수가 설정". 그러나 "플래그 설정"이 더 명확합니다.


관련 용어 : 0 / 0이 아닌 정수를 0 / 1 값으로 바꾸는 것을 "부울"이라고 합니다.

실제로 0 / 1 값을 true / false 대신 정수 bool로 사용하는 경우 해당 단어를 사용할 수 있습니다. 그렇지 않으면 컴파일러가 수행 해야하는 작업 비용에 대해 이야기하는 경우에만 나타납니다. (또는 SIMD 비교를 사용하여 수동으로 벡터화하는 경우 각 벡터 요소에서 모두 0/1 비트를 생성합니다).

C 및 C ++에서는 bool암시 적으로 0 또는 1의 정수로 다시 변환 될 수 있으며, 일반적인 구현 bool에서는 0이 아닌 1이 아닌 1 또는 1의 1 바이트 값으로 저장됩니다. 효율적 a && b이기는하지만 실제로는 많은 C 컴파일러가 최적화를 놓쳤다 .


bool booleanize(int a) { return a; }   // C++

이 함수 ret는 대부분의 아키텍처 에서 여러 명령어 (를 포함하지 않음)로 컴파일합니다 . (MIPS는 별개의 플래그 / 조건 코드 레지스터 대신 레지스터 비교 명령을 갖는 흥미로운 예외입니다). x86-64, MIPS 및 ARM thumb 용 Godbolt 컴파일러 탐색기 에서 x86-64 버전은 다음과 같습니다.

    test    edi, edi    # set flags according to   a & a
    setne   al
    ret                 # return value in AL, the low byte of RAX

부울이 무엇인지에 대한이 예제는 약간 큰 주제입니다.


0

" Foobar참으로 설정 "과 " Foobar거짓으로 설정 "은 간단하고 간결 하다고 생각 합니다. 나는 그 문구들에 대한 개별적인 단어들이 있다고 믿지 않으며, 당신이 기술적이고 정확해야 할 때, 때때로 청중을 혼란스럽게하는 것보다 약간의 단어를 쓰는 것이 더 낫습니다.


-1

"설정"은 변수에 값을 할당하는 동작을 설명하는 올바른 방법입니다. 당신이 그것에 대해 pedantic를 원한다면, 당신은 그것을 "지정"이라고 부를 수 있지만 "집합"은 매우 널리 퍼져 있습니다. 실제로 할당을 수행하는 메소드를 작성하는 setFoobar()(및 getFoobar()) 관용적 Java 입니다. C # 1 단계 더 그것에 걸리는 getset속성 정의.

"truthify"와 "falsify"를 "암시를 통해, 우리가 부울 변수를 다루고 있다고 알려주십시오"라는 두 번째 요점과 관련하여, 다음과 같이 말할 때 이미 청취자에게 변수가 부울이라고 말합니다.

내가 설정 Foobartrue


1
부울 속성을 반환하는 메소드에 대한 Java의 '표준'은 실제로 다음과 같습니다.isFoobar()
JimmyJames

-1

어설 션 또는 리 트랙트 도 가장 자주 사용됩니다 (예 : Prolog에서 간단한 변수가 아닌 제안에 대해 이야기 할 때). 일반적으로 부울 값을 갖는 모든 언어 (설정 / 삭제 플래그 또는 비트, 장치 또는 모드 활성화 / 비활성화, 제안 어설 션 / 후퇴 등)에 대해 하나의 일반적인 용어가 아니라 부울이 나타내는 내용에 따라 다른 용어가 있습니다.


나는 이미 다른 것을 의미하는 프로그래머를 제외하고 assert에 동의합니다 (예 : 표현식이 아직 true가 아닌 경우 예외 던지기).
ChrisW

@ChrisW 나는 당신이 프롤로그를 프로그래밍하는 사람들이 프로그래머가 아니라면 어떻게 생각하는지 모르겠지만, 1972 년 프롤로그에서 사용 되었기 때문에 기존의 의미를 바꾸는 것은 C 매크로입니다.
피트 커캄

-1

부울 값을에서 truefalse또는 그 반대로 변경하는 것을 부정 이라고 합니다.

부울 값을로 설정하는 것은 부울 false위조 한다고 합니다. 당신이 "진리"라고 말하면 당신을 이해하지만, 이것은 제대로 들리지 않습니다. 동사가 무엇인가를 만들기위한 것이 무엇인지 잘 모르겠 기 true때문에 맞습니다.

"truthify"willy-nilly를 사용하기 전에 더 나은 답변을 가진 사람이 올 때까지 기다릴 것입니다.


1
여기서 문제는 negate , falsifying 이라는 용어를 사용할 수 있지만 각각 togglereset / clear를 사용 한다는 것 입니다. 사실이 질문을 읽을 때까지 나는 결코 위조 하지 않았습니다 . 어쩌면 나는 나이가 들었을뿐 아니라 올해의 최신 유행 용어에 익숙하지 않습니다 :)
David Arno

7
'falsify'는 영어에서 부울 변수 사용과 실제로 일치하지 않는 의미를 갖습니다. 당신은 당신이 "위조"있는 거 당신의 변수를 얘기하면 내가 할 수 당신이 말하려고하는지 이해하지만, 난 당신이 그들이 가지고있는 값에 대해 거짓말을하고 있음을 말해 시도로 첫 번째 구문 분석을 것입니다.
큐빅

1
"falsifying"과 반대되는 IMO는 영어로 "asserting"이지만, "assert"는 프로그래머에게 잘못된 인상을줍니다.
ChrisW

-3

하나의 회전을 불리언는 SPST (단극, 단투) 스위치의 전기적 등가 인 또는 오프 .


2
" done변수 켜기 "또는 " error변수 끄기"둘 다 적어도 나에게 들리는 소리. 다른 답변에서 제안한 대안은 " done변수 / bool / flag를 [true]로 설정하십시오"또는 " error플래그가 지워졌습니다."
Sebi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.