AutoLISP의 논리 연산 설명
이번 기사에서는 AutoLISP의 논리 연산에 대해 설명합니다.
논리 연산이라고 듣고 어렵다고 느끼는 분도 계신다고 생각합니다만, 하고 있는 것 자체는 단순하기 때문에 안심해 주세요.
조건 분기의 함수와 조합하면, AutoCAD의 작업을 효율화해 주기 때문에 꼭 봐 주세요.
논리 연산이란?
논리 연산이란 간단히 말하면, 어느 입력치에 대해서 「1(true)」또는 「0(false)」의 어느쪽이든을 돌려주는 계산 입니다.
또한 입력값은 '1(true)' 또는 '0(false)' 중 하나 입니다.
AutoLISP는 '1'대신 'T', '0'대신 'nil'을 사용합니다.
「1」이나 「0」을 알면, 「A라면 B를 한다」라고 하는 분기의 판정을 할 수 있습니다.
논리 연산 함수를 작성하는 방법
논리 연산 함수는 다음과 같이 씁니다.
인수로 하는 식은 비교 연산 함수를 사용하는 경우가 많습니다.
- 논리 곱 (and 식 1 식 2 ...)
- 논리합 (or 식1 식2 ···)
- 부정 (not 식)
논리적 and
인수의 식이 모두 「T」를 돌려주는 경우에 「T」를 돌려주는 함수입니다.
하나라도 'nil'을 반환하는 표현식이 있으면 'nil'을 반환합니다.
(and (< 1 2) (= 3 3))
⇒ T
(and (> 2 3) (> 4 3))
⇒ nil
논리합 or
「T」를 돌려주는 식이 1개이기도 한 경우에 「T」를 돌려주는 함수입니다.
모든 표현식이 'nil'이면 'nil'을 반환합니다.
(or (> 1 2) (= 3 3))
⇒ T
(or (> 2 3) (> 3 4))
⇒ nil
부정 not
인수의 식이 돌려주는 결과를 반전하는 함수입니다.
표현식이 'T'를 반환하면 'nil'을 반환하고 'nil'을 반환하면 'T'를 반환합니다.
(not (= 3 3))
⇒ nil
요약
이번 내용을 정리합니다.
- 논리 연산이란?
- 특정 입력값에 대해 '1(true)' 또는 '0(false)' 중 하나를 반환하는 계산
- 논리 곱 (and 식 1 식 2 ...)
- 인수의 식이 모두 「T」를 돌려주는 경우에 「T」를 돌려준다
- 논리합 (or 식1 식2 ···)
- 'T'를 반환하는 식이 하나라도 있는 경우 'T'를 반환합니다.
- 부정 (not 식)
- 인수 표현식이 반환하는 결과를 반전
기사의 내용이나 AutoLISP로 잘 모르는 곳이 있는 것 같으면, 코멘트나 메일로 부담없이 연락해 주세요!
