13. 관계 연산자

관계 연산자는 요소들의 값들을 비교하여 결과가 참이면 T를 리턴하고, 거짓이면 nil을 리턴하는 함수이다.

관계 연산자 단독으로는 비교 이외의 아무런 기능을 가지지 못하며, 조건 함수와 함께 사용해야 한다.

 

1. 같다(=)

    (1) 기능

      "=" 표시는 요소들을 검사하여 같으면 T를 리턴하고 같지 않으면 nil을 리턴한다.

    (2) 사용법

      (= A B ·····)

    (3) 예 제

       (= 7 7)

       : 참이므로 T를 리턴한다.

       (= 3 3.3 3)

       : 거짓이므로 nil을 리턴한다.

       (setq eqnum (= 7 7))

         !eqnum  :  T

       (setq eqnum (= 3 3.3))

         !eqnum  :  nil

       (= "DMZ" "DMZ")

       : 참이다. T를 리턴한다.

       (= "DMZ" "CG")

       : 거짓이므로 nil을 리턴한다.

     

 

2. 같지 않다(/=)

    (1) 기능

      요소들을 검사하여 같지 않으면 T를 같으면 nil을 리턴한다.

    (2) 사용법

      (/= A B ·····)

    (3) 예제

       (/= 25 3)

       : 서로 같지 않으므로 T를 리턴한다.

       (/= 25 25)

       : 거짓이므로 nil을 리턴한다.

       (setq nenum (/= 25 3))

         !nenum  :  T

       (setq nenum (/= 25 25))

         !nenum  :  nil

       (/= "PNP" "PNP)

       : nil

       (/= "PNP" "CG")

       : T

     

     

3. 크다(>)

    (1) 기능

      이후의 요소들이 모두 작으면 T를 그렇지 않으면 nil을 리턴한다.

      ※ B와 C가 A보다는 작고 C가 B보다 크면은 거짓이다. 따라서 nil을 리턴한다.

    (2) 사용법

      (> A B C D···)

    (3) 예제

       (> 30 25)

       : T를 리턴한다.

       (> 25 40)

       : nil을 리턴한다.

       (setq tanum (> 30 25))

         !tanum  :  T

       (setq tanum (> 25 40))

         !tanum  :  nil

       (> 7 6 4 5 2)

       : nil을 리턴한다.

       (> 7 5 4 3 1)

       : T를 리턴한다.

     

 

4. 크거나 같다(>=)

    (1) 기능

      표시는 A 이후의 요소들이 A보다 작거나 같으면 T를 리턴, 그렇지 않으면 nil을 리턴한다.

      ※ B와 C가 A보다 작거나 같고, C가 B보다 크면 nil을 리턴한다.

    (2) 사용법

      (>= A B C D ···)

    (3) 예제

       (>= 25 10)

       : T를 리턴한다.

       (>= 25 25 10)

       : T를 리턴한다.

       (>= 25 25 29)

       : nil을 리턴한다.

       (setq tenum (>= 25 10))

         !tenum  :  T

       (setq tenum (>= 25 25 29))

         !tenum  :  nil

       (>= "m" "m")

       : T를 리턴한다.

       (>= 25 25 10 17)

       : nil을 리턴한다.

     

 

5. 작다(<)

    (1) 기능

      이후의 요소들의 모두 크면 T를 그렇지 않으면 nil을 리턴한다.

      ※ B와 C가 A보다 크더라도 C가 B보다 작으면 nil이다.

    (2) 사용법

      (< A B C D···)

    (3) 예제

       (< 1 2 3 4 5)

       : 이후의 숫자들이 모두 크므로 T를 리턴한다.

       (< 1 4 3 5)

       : 거짓이므로 nil을 리턴한다.

       (< "A" "Z")

       : T를 리턴한다.

       (setq ltnum (< 1 2 3 4 5))

         !ltnum  :  T

       (setq ltnum (< 1 4 3 5))

         !ltnum  :  nil

       (setq ltnum (< "A" "Z"))

         !ltnum  :  T

     

 

6. 작거나 같다(<=)

    (1) 기능

      "<=" 표시는 A이후의 요소들이 A보다 크거나 같으면 T를 그렇지 않으면 nil을 리턴한다.

      ※ B와 C가 A보다 크거나 같더라도 C가 B보다 작으면 nil이다.

    (2) 사용법

      (<= A B C D···)

    (3) 예제

       (<= 25 25)

       : 참이므로 T를 리턴한다.

       (<= 25 30)

       : T를 리턴한다.

       (<= 5 2 5)

       : 거짓이므로 nil을 리턴한다.

       (setq ltenum (<= 26 26))

         !ltenum  :  T

       (setq ltenum (<= 26 30))

         !ltenum  :  T

       (setq ltenum (<= 5 2 5))

         !ltenum  :  nil

     

 

7. Eq

    (1) 기능

      식A와 B가 일치하면 T를, 그렇지 않으면 nil을 리턴한다.

    (2) 사용법

      (Eq A B)

    (3) 예제

       (Eq 25 25)

       : T를 리턴한다.

       (Eq 25 25.0)

       : 참이므로 T를 리턴한다.

       (Eq "PNP" "CG")

       : nil을 리턴한다.

       (setq eqnum (eq 25 25 ))

         !eqnum  :  T

       (setq eqnum (eq 25 25.0)

         !eqnum  :  T

       (setq eqnum (eq "DMZ" "dmz")

         !eqnum  :  nil


    ※ 2개 이상을 비교했을 때는 다음과 같은 Error가 발생한다.
        error: too many arguments 

 

 

8. Equal

    (1) 기능

      Eq와 유사한 기능을 가지지만 한가지 차이점은 식A와 식B가 달라도 동일하다고 인정할 수 있는

      최대 양을 정의하는 실수를 지정할 수 있다.

      A와 B의 차이가 지정한 범위내에 존재하면 T를 그렇지 않으면 nil을 리턴한다.

    (2) 사용법

      (Equal A B Fuzz)

    (3) 예제

       (equal 52 52)

       : T를 리턴한다.

       (equal 25 25.1 0.5)

       : 참이므로 T를 리턴한다.

       (equal 25 25.1 0.05)

       : nil을 리턴한다.

       (setq eqnum (equal 52 52))

         !eqnum  :  T

       (setq eqnum (equal 25 25.1 0.5))

         !eqnum  :  T

       (setq eqnum (equal "PNP" "CG"))

         !eqnum  :  nil

     

 

 

 

입력 함수

최초 작성일 2000.06.03

조건 함수

최종 수정일 2006.05.02