| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
박유군
가입: 2011년 10월 4일 올린 글: 15
|
올려짐: 2011년10월18일 15:22 주제: eq? 랑 equal? 이랑 차이점이 무엇인가요? |
|
|
숙제3 테스트셋을 돌려보면 과정에서
(eq? (cons 'r 1) (cons 'r 1)) 하면 #f 가 나오는데
(equal? (cons 'r 1) (cons 'r 1)) 하면 #t가 나오네요
둘이 같은 것이 아니였나요? |
|
| 위로 |
|
 |
이승중
가입: 2010년 6월 22일 올린 글: 561
|
올려짐: 2011년10월18일 15:34 주제: |
|
|
eq?는 위치를 비교하고
equal?은 구조에서 값을 일일히 비교합니다.
cons는 실행될때마다 순서쌍을 저장할 저장공간이 새로 만들어지고
거기에 값을 넣습니다.
첫번째 cons와 두번째 cons로 만들어진 순서쌍의 위치는 다릅니다.
(define a (cons 'r 1))
(eq? a a)하면 같다고 나올겁니다.
equal?은 저장공간의 위치대신 모양새를 보고 속의 값들이 같은지를 봅니다 |
|
| 위로 |
|
 |
이승중
가입: 2010년 6월 22일 올린 글: 561
|
올려짐: 2011년10월18일 23:16 주제: |
|
|
그리고 같은 방인지 비교할땐 same-room?을 쓰셔야 합니다.
equal? eq? 쓰시면 요약의 경계를 침범한 것이 됩니다.
room이란 것이 어떻게 구현될지 모르는 것이니까요. |
|
| 위로 |
|
 |
|