| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
현.철
가입: 2011년 9월 27일 올린 글: 35
|
올려짐: 2011년12월9일 23:05 주제: 8-4의 rotate에서 box를 받는 이유가 아직도 이해가 되지 않네요.. |
|
|
제가 이해한 것이 맞다면
rotate는 그 모듈의 box를 rotate한 것을 반환하는 것이어야 할텐데
왜 뜬금없이 box를 받을까요?ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
예를 들어 기본 프레임을 T W D라고 할 때,
Rotate( Glue (T) (T) (W) (D) ).rotate ( Glue (T) (T) (W) (D) ).box
는 무엇이 나와야 하는 것일까요? |
|
| 위로 |
|
 |
김태훈10
가입: 2011년 10월 15일 올린 글: 21
|
올려짐: 2011년12월10일 0:58 주제: |
|
|
제가이해한건요.. 실질적으로 시계방향으로 90도회전한 박스를 나타내는 모듈을 만드는역할은 functor Rotate이고, 이 functor내에서 써먹기위해 rotate라는 함수가 있는거같습니다
functor Rotate에서만 써먹고 나머지functor에선 쓰이지않는...
예를들면..
| 코드: | module A = BasicFrame(struct let design = TURTLE end)
module Ap = Rotate(A)
|
이러면 A는 거북이가그려진 타일(NW)을 나타내는 모듈
Ap는 그걸 시계방향으로 90도 돌려버린타일(NE)을 나타내는 모듈
rotate함수의정의는 functor BasicFrame이나 functor Glue 내에서정의되고
단지 functor Rotate 내에서는 인자로들어온 모듈의 box함수와 rotate함수를 동시에 써서 새로운 박스를 만들기만하면 되는것같네요ㅜ |
|
| 위로 |
|
 |
현.철
가입: 2011년 9월 27일 올린 글: 35
|
올려짐: 2011년12월10일 8:48 주제: |
|
|
네 근데 문제는 functor의 인자로 들어온 모듈이 Glue인 경우 이 것을 돌린 것을 나타내는 모듈이란 것을 만들 수가 없다는 점입니다.
T T W D 인 모듈을 Rotate한다면 그 모듈의 rotate의 인자로 들어오는 녀석들은
D T T W여야 하는데, Rotate에서 어떻게 하면 D T T W인 모듈을 만들 수 있을까요?
물론 타입 검사를 강하게 하지 않으면 어느 정도 돌아가기는 합니다만 그 것이 맞는 구현은 아닌 것 같아 이렇게 질문을 올립니다. |
|
| 위로 |
|
 |
이태영
가입: 2011년 9월 19일 올린 글: 34
|
올려짐: 2011년12월10일 11:39 주제: |
|
|
일단 첫 글에서
| 코드: |
Rotate( Glue (T) (T) (W) (D) ).rotate ( Glue (T) (T) (W) (D) ).box
|
는 D T T W 모양의 box를 반환해야 할 것 같습니다. Rotate functor의 rotate 함수는 box를 받아서 rotate된 box를 리턴하니까요
그런데 T T W D인 모듈을 Rotate하면 (Rotate( Glue (T) (T) (W) (D) ) 말씀하시는거죠?) 왜 그 모듈의 rotate 인자로 들어오는 녀석들이 D T T W인지 잘 모르겠네요..;
들어주신 예에서 functor Rotate는 T T W D로 묶인 녀석을 가져와서 내부에 정의된 rotate함수로 돌린 D T T W를 box로 가지고 있어야 하는거 아닐까요? :  |
|
| 위로 |
|
 |
현.철
가입: 2011년 9월 27일 올린 글: 35
|
올려짐: 2011년12월10일 11:50 주제: |
|
|
| FRAME의 rotate는 자기 FRAME에 해당하는 box를 받아서 rotate한 결과를 반환하는 함수라고 알고 있었는데 제가 잘못 이해한 것일까요? |
|
| 위로 |
|
 |
김태훈10
가입: 2011년 10월 15일 올린 글: 21
|
올려짐: 2011년12월10일 13:13 주제: |
|
|
음 T T W D인 모듈을 Rotate하고싶으면 인자로 T T W D가 들어가지않을까요
그리고 functor Rotate로 이 Glue 모듈이 들어가더라도 BasicFrame모듈이 들어갈때처럼 알맞게 구현하시면 되는것같습니다.. |
|
| 위로 |
|
 |
이태영
가입: 2011년 9월 19일 올린 글: 34
|
올려짐: 2011년12월10일 13:18 주제: |
|
|
| 제가 이해하기로는 FRAME의 rotate는 '자기 box를 받아서 rotate한 결과를 리턴'이 아니라 '그냥 box를 받아서 rotate한 결과를 리턴'인 것 같아요. 단지 BasicFrame이냐 Glue냐의 차이만 있을 뿐인 것 같네요~ |
|
| 위로 |
|
 |
|