이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
김재원
가입: 2008년 10월 7일 올린 글: 13
|
올려짐: 2011년4월12일 20:46 주제: 빈 레코드 관련하여 |
|
|
빈 레코드의 필드에 접근하는 경우가 아니라,
그냥 레코드가 빈 것 그 자체를 정의내리고 싶은데,
그렇게 되면, 정의에 의하면 unit를 value로 돌려주게 되어 있어서,
그 것의 타입이 레코드가 아니게 되버리는 문제가 발생합니다 ㅠㅠ
그래서 레코드가 비었는지 여부를 확인하기 위해서
equal문으로 빈 레코드와 꽉 찬 레코드를 비교시키면
타입 에러를 냅니다 ㅠㅠ
물론 레코드 비교를 테스트하지 않는다고 하셨지만..
그냥 일반론적으로 이게 어떻게 되는건지 궁금합니다.
빈 레코드를 따로 정의해줘야 하는지 않는지요. |
|
위로 |
|
|
김진영_
가입: 2009년 12월 9일 올린 글: 337
|
올려짐: 2011년4월12일 22:39 주제: |
|
|
레코드 타입을 어떻게 정의하셨느냐에 따라 다를 것 같습니다.
빈 레코드와, 인자가 있는 레코드를 비교 가능하도록 정의하실 수 있을 것 같습니다만.. |
|
위로 |
|
|
김재원
가입: 2008년 10월 7일 올린 글: 13
|
올려짐: 2011년4월12일 23:52 주제: 늦어버린 질문 같지만 ㅠ |
|
|
제출시간이 거의 다되어 늦어버린 질문 같지만 ㅠ
질문을 드렸던 취지는, semantics 문서에 점으로 표시가 되어 있어서,
막연히 Unit 를 Value로 하라는 이야긴가.. 하는 생각을 했던 것입니다.
근데 말씀을 듣고 보니 점이 반드시 Unit란 이야기라기 보다는,
그냥 빈 레코드를 표현한 것이라고 볼 수도 있을 것 같단 생각이 문득 드네요.
이러한 저의 수정된 이해가 맞는지 궁금합니다 ㅋㅋ |
|
위로 |
|
|
김재원
가입: 2008년 10월 7일 올린 글: 13
|
올려짐: 2011년4월12일 23:58 주제: 늦어버린 질문 같지만 ㅠ |
|
|
제출시간이 거의 다되어 늦어버린 질문 같지만 ㅠ
질문을 드렸던 취지는, semantics 문서에 점으로 표시가 되어 있어서,
막연히 Unit 를 Value로 하라는 이야긴가.. 하는 생각을 했던 것입니다.
근데 말씀을 듣고 보니 점이 반드시 Unit란 이야기라기 보다는,
그냥 빈 레코드를 표현한 것이라고 볼 수도 있을 것 같단 생각이 문득 드네요.
이러한 저의 수정된 이해가 맞는지 궁금합니다 ㅋㅋ |
|
위로 |
|
|
김진영_
가입: 2009년 12월 9일 올린 글: 337
|
올려짐: 2011년4월13일 0:02 주제: |
|
|
코드: | semantics 문서에 점으로 표시가 되어 있어서, |
무엇을 말씀하시는 것인가요? semantic에서 UNIT을 보면 아시겠지만, 점은 unit입니다. |
|
위로 |
|
|
김재원
가입: 2008년 10월 7일 올린 글: 13
|
올려짐: 2011년4월13일 0:16 주제: 다시 확인해보니 |
|
|
다시 확인해보니 처음 저의 판단이 맞았던 것이군요 ^^
해답을 묻는 질문이 되는 것 같기도 해서 질문 드리기가 주저됩니다만 ㅠ
예를들면 equal 함수에서 빈 레코드와 내용이 있는 레코드를 비교하기 위해서
각각을 eval하는데, 빈 레코드는 semantics에 의해 unit을 value로 돌려주는 반면,
내용이 있는 레코드는 value로 Record _를 돌려줄 것이기 때문에,
비교를 함에 있어서 아예 타입이 달라져 비교를 할 수 없다고 답을 해야 맞을 것 같다는 것입니다.
조교님 말씀해주신대로 빈 레코드와 내용 있는 레코드를 구분을 하려면,
애시당초에 빈 레코드를 eval할 때 그 값으로 unit이 아닌 다른 것을 돌려줘야 하지 않을까, 하는 생각이 듭니다.
semantics대로 unit을 돌려주게 하고, unit일 경우 빈 레코드임을 의심하게 하려면, 다른 경로로 unit이 나온 경우와 구별이 되지 않아서 문제가 생기리라 생각됩니다.
제가 아무래도 이해가 부족한 것인가요 ㅠㅠ
답변 감사드립니다 ^^ |
|
위로 |
|
|
|