| 
 
	
		| 이전 주제 보기 :: 다음 주제 보기 |  
		| 글쓴이 | 메시지 |  
		| 김무환 
 
 
 가입: 2018년 9월 12일
 올린 글: 9
 
 
 | 
			
				|  올려짐: 2018년10월17일 13:03    주제: 과제 3-1 Record 관련 질문 |   |  
				| 
 |  
				| 뼈대 코드에 있는 RECORD와 FIELD를 구현해야 하는데 감이 안 와서 질문드립니다. 
 type value =
 | Num of int
 | Bool of bool
 | Unit
 | Record of (id -> Loc.t)
 
 이 부분에서, Record가 id -> Loc.t로 정의되어 있습니다. 제가 생각하기에 Record는 어떤 이름을 갖고, 그 이름에 대응되는 (id -> Loc.t)의 리스트로 정의되어야 할 것 같은데 뼈대 코드의 정의로는 그런 표현이 안 되는 것 같습니다. 뼈대 코드에서 정의한 Record가 정확히 어떤 구조로 사용되어야 하는지 조금만 더 설명해주실 수 있을까요..? ㅠㅠ
 |  |  
		| 위로 |  |  
		|  |  
		| 로파스 Site Admin
 
 
 가입: 2012년 9월 9일
 올린 글: 280
 
 
 | 
			
				|  올려짐: 2018년10월17일 14:17    주제: |   |  
				| 
 |  
				| 언어 정의에 따라 레코드가 고유의 이름을 가질수도있겠습니다만, 
 K-언어에서 레코드는 단순히 여러개의 필드값이 각각 값을 갖고있는 일종의 값의 모음으로 정의하기 때문에 굳이 질문과 같이 정의하실 필요는 없어보입니다.
 
 x = {a = 1, b = 2}
 
 이런식의 레코드를 하나 정의하셨으면,
 
 개념적으로 x라는 변수에는 "a를 받으면 l_1을 내놓고 b를 받으면 l_2를 내놓는 레코드"라는 값을 저장하게 될것입니다.이때 l_1에는 1이 저장되어있고, l_2에는 2가 저장되어있어야 하겠죠. (정확히는 환경에서 x가 가르키는 메모리주소에 이 값을 저장하겠지요.)
 
 이것은 오켐엘에서 id -> Loc.t 라는 타입을 가지는 함수의 역할과 일치하기 때문에 뼈대코드와 같이 정의한 것입니다.
 
 -조교 드림.
 |  |  
		| 위로 |  |  
		|  |  
		|  |  
  
	| 
 
 | 새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다
 주제를 수정할 수 없습니다
 올린 글을 삭제할 수 없습니다
 투표를 할 수 없습니다
 
 |  
 Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
 Translated by kss & drssay
 |