게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

nml의 레코드

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2007)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
허기홍



가입: 2007년 9월 27일
올린 글: 231

올리기올려짐: 2007년10월19일 21:09    주제: nml의 레코드 인용과 함께 답변

지난번 조교님의 nml튜토리얼 수업시간 자료에 보면

nml의 레코드 사용법이 나와있습니다.

그런데 라이브러리 페이지에 레코드가 안보이네요.

어떻게 된것인지 궁금하고,

우리 숙제 레코드를 이것으로 구현하는것은 좀 치사한 방법일까요?

또한 Map을 사용하는 경우에

nml 인터프리터에서

val t1 = Map.add "a" 1 Map.empty;;
val t2 = Map.add "a" 1 Map.empty;;
t1=t2;;

하면 true가 나옵니다.

그런데 제가 맵으로 구현한 K- 레코드는 같은 값을 가져도 = 연산을 하면 false가 나오는데 왜 그런것인가요?

제가 잘못짠것일까요
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
신해수
손님





올리기올려짐: 2007년10월20일 0:54    주제: Re: nml의 레코드 인용과 함께 답변

# val t2 = Map.add "b" 2 (Map.add "a" 1 Map.empty);;
val t2: (string, int) Map.t = <abstr>
# val t1 = Map.add "b" 2 (Map.add "a" 1 Map.empty);;
val t1: (string, int) Map.t = <abstr>
# t1 == t2;;
val it: bool = false

# val t2 = Map.add 10 100 Map.empty;;
val t2: (int, int) Map.t = <abstr>
# val t1 = Map.add 10 100 Map.empty;;
val t1: (int, int) Map.t = <abstr>
# t1 == t2;;
val it: bool = false

제 생각에는 말씀하신 예제에서 true가 나온 것이 우연인 것 같습니다.

개인적으로는 =을 구현하기 위해서 Map.fold 등 몇몇 함수를 이용하고,
Map의 Map까지 고려하느라 꽤 오랜 시간을 썼습니다.
위로
신해수
손님





올리기올려짐: 2007년10월20일 0:58    주제: Re: nml의 레코드 인용과 함께 답변

헉. 지금보니까 제가 쓴건 ==이었군요.
그럼에도 불구하고..
# val t2 = Map.add "b" 2 (Map.add "a" 1 Map.empty);;
val t2: (string, int) Map.t = <abstr>
# val t1 = Map.add "a" 1 (Map.add "b" 2 Map.empty);;
val t1: (string, int) Map.t = <abstr>
# t1 = t2;;
val it: bool = false

라는 점에서 문제가 되지 않나 싶습니다.
물론 {a := 1, b := 2} != {b := 2, a := 1}이라고 정의하면 될지도 모르겠습니다만..
위로
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2007) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay