이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
유경인
가입: 2013년 9월 9일 올린 글: 29
|
올려짐: 2013년10월13일 15:28 주제: [HW4-1] 타입 질문입니다 |
|
|
주어진 뼈대코드에서 보면
각자 구현한 "어떤 data structure"를 "tree"라고 부르고 있습니다
구현하다보니 또 다른 data structure를 만들었는데요
modified-t -> (str X (int list))
| ((int list) X (modified-t ....
이런건데 이걸 주석 한줄로 적을순 없을것 같습니다
그렇다고 그냥 modified-t라고 적을수도없고.. 어떻게해야할까요? |
|
위로 |
|
|
김동욱
가입: 2013년 9월 14일 올린 글: 23
|
올려짐: 2013년10월13일 16:04 주제: 뼈대코드 보면 타입을 다 적어주셨던데 |
|
|
저도 질문이있습니다.
뼈대코드 보면 뼈대 함수들 타입을 다 적어주셨던데 인자에 대한 타입은 없더라구요
인자 타입은 안적어도 되는건가요
그리고 HW4-1에서 재귀 프로시저를 예전에 2친수 같은 타입으로 짜게됬는데..
이런경우에 타입표기는 어떤식으로 해야하나요?
재귀가 진행되는 동안에 재귀적 표현없이 표현 할 수없는 타입이 인자로 들어오게됩니다...
예를 들어서 함수의 인자가 int X string 또는 (int X ((int X string) X (int X string))) ..
ex)
'(("a" . 5) ("b" . 1) ("c" . 1) ("d" . 1))
'(("a" . 5) ((("b" . 1) "c" . 1) . 2) ("d" . 1))
'(("a" . 5) ((((("b" . 1) "c" . 1) . 2) "d" . 1) . 3))
이런식으로 가변적인 타입이 됩니다.
임의로 tree 이런식으로 적어주어도 될까요?
따로 tree 라는 데이터 타입에 대한 이름을 암시하는 데이터 처리 함수는 구현하지 않고 있습니다. |
|
위로 |
|
|
강지훈
가입: 2008년 9월 2일 올린 글: 291 위치: 302동 312-2호
|
올려짐: 2013년10월14일 13:22 주제: |
|
|
1.
인용: | 뼈대코드 보면 뼈대 함수들 타입을 다 적어주셨던데 인자에 대한 타입은 없더라구요
인자 타입은 안적어도 되는건가요 |
무슨 말씀이신지 모르겠습니다만,
코드: | (define (leaf str val tree) ; leaf: string * int * tree -> tree
(raise "TODO"))
|
에서 "leaf: string * int * tree -> tree" 라는 타입만 써도 옳은 것으로 간주하겠습니다.
2.
재귀적 타입을 정의하시고, 그 타입 이름을 타입에서 사용하시면 됩니다.
예를 들어,
코드: | modified-t -> (str X (int list))
| ((int list) X (modified-t ....
|
라고 주석으로 적어주신 뒤,
코드: | (define (example t) ; example: modified-t -> modified-t
...)
|
라고 적어주세요. _________________ 강지훈
프로그래밍의 원리 조교
Jeehoon Kang
TA, Principles of Programming |
|
위로 |
|
|
|