이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
송호준
가입: 2018년 9월 21일 올린 글: 10
|
올려짐: 2018년10월18일 16:33 주제: 과제 3-1 RECORD 질문입니다. |
|
|
Record는 ocaml에서 하나의 function으로 정의되는데, 이를 일종의 dictionary로 이해하면 될까요?
그렇다면 이 function에 (x, 1)이란 record를 추가한다거나 하는 것도 가능한가요?
따라서 저는 record를 각각의 (id, exp)를 recursive하게 추가하는 식으로 접근하려 하는데, 이게 올바른 방법인가요?
그리고 semantics를 보면 RECF에서 빈 rec가 들어올 경우 unit을 v로 반환하라고 되어 있는데 이게 맞는 건가요?
+추가질문입니다. e := {a:=1, b:=2}라 했을때 e.c를 호출하면 unbound가 뜨는게 맞나요? Record는 environment에 직접적인 연관 없고 memory와 관계있으므로 not initialized가 뜨도록 해야 하나요? |
|
위로 |
|
 |
로파스 Site Admin
가입: 2012년 9월 9일 올린 글: 280
|
올려짐: 2018년10월19일 10:14 주제: |
|
|
레코드는 프로그램 전체에서 공유하는 하나의 dictionary같은 개념이 아닙니다.
레코드 역시 단순히 값중 하나라고 이해하시면 됩니다. 그저 여러개의 필드값이 있고, 각각의 필드값에 어떠한 값을 지니고있는 값의 모음이라는 개념 정도로 이해하시면 됩니다. x와 y에 각각 다른 레코드를 집어넣었으면 질문해주신대로 특별한 일을 해주셔야 하는게 아니라, 말그대로 두개의 레코드가 각각 x와 y에 들어가있는 것입니다.
이 개념을 이해하시고 나면 빈 레코드가 유닛이라는 것도 자연스럽게 연결됩니다.
+ 정의하기에 따라 다소 애매할 수 있는 부분이지만, 이 숙제에서는 unbound에러를 내주시면 되겠습니다. |
|
위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|