이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
김원용
가입: 2009년 9월 29일 올린 글: 11
|
올려짐: 2013년10월3일 22:39 주제: 3-3 질문입니다. |
|
|
leaf : int -> tree
이것이 저희가 배운 것으로 가능한지 의문이 들어서 질문드립니다.
let proc leaf (x) = let tree := .... in tree in
leaf(2).value 를 부르면 문제는 함수 안에서의 tree가 바깥 스코프에서는
볼 수 없지 않나요ㅠㅠㅠ???????
제가 수업을 잘 못들어서 이해를 못하는건가요 ㅠㅠ? |
|
위로 |
|
 |
최준원
가입: 2007년 3월 30일 올린 글: 149
|
올려짐: 2013년10월4일 13:22 주제: |
|
|
숙제 3의 K- 언어에서는 tree type 자체를 정의할 수는 없습니다.
(user-defined inductive type 을 만들 수 없다는 뜻)
단, 숙제 3-3 의 경우는 구현해야 하는 함수만을 이용해서 여러 가지 구현/검토를 할 수 있겠죠.
가령 nodeVal (leaf 3) 의 경우 정수 3 의 값으로 계산되어야 합니다.
따라서 숙제 3-3 은 가상의 tree type 이 있다고 생각했을 때
관련된 인터페이스를 구현하는 것이 주된 목표라고 할 수 있습니다.
(채점 또한 구현해야 하는 함수만을 사용해서 확인할 예정이고요.)
구현 중에 사용하는 자료 구조는 K- 에서 제시된 어떤 것을 사용하셔도 됩니다.
이제 본 질문에 대한 답변을 해드리면,
인용: | leaf : int -> tree
이것이 저희가 배운 것으로 가능한지 의문이 들어서 질문드립니다. |
네, 가능합니다.
인용: | let proc leaf (x) = let tree := .... in tree in
leaf(2).value 를 부르면 문제는 함수 안에서의 tree가 바깥 스코프에서는
볼 수 없지 않나요ㅠㅠㅠ??????? |
말씀하신 방법을 사용해서 함수를 구현할 수 없다고 확신하셨다면,
다른 자료 구조를 생각해 보세요.
위에서도 말씀드렸듯이 구현 중에 사용하는 자료 구조는 K- 에서 제시된 어떤 것을 사용하셔도 됩니다.
도움이 되셨으면 좋겠네요  |
|
위로 |
|
 |
김원용
가입: 2009년 9월 29일 올린 글: 11
|
올려짐: 2013년10월5일 15:49 주제: 아 ㅠ 잘 되네요. |
|
|
잘 됩니다 ㅠㅠㅠ 아주 잘 되네요 ㅠㅠ
왜 안된다고 생각햇을까요 ㅠ |
|
위로 |
|
 |
|