게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

숙제 5번 관련!

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
심민섭



가입: 2013년 9월 14일
올린 글: 30

올리기올려짐: 2013년9월14일 11:07    주제: 숙제 5번 관련! 인용과 함께 답변

다름 아니라 몇가지 test case를 올려 주셨는데

test case에는
let t2 = insert (1, insert (10, insert(30,EMPTY))) in
let t3 = insert (25, insert (34, insert(9, insert (11,EMPTY)))) in
let t5 = merge (t2,t3) in
와 같이 종결시 in 붙습니다

하지만 저의 경우에는
ocaml -init exercise5.ml을 한 후에

let t2 = insert (1, insert (10, insert(30,EMPTY))) ;;
let t3 = insert (25, insert (34, insert(9, insert (11,EMPTY)))) ;;
let t5 = merge (t2,t3) ;;

in 없이 위에같이만 입력하면 실행이 잘 되는데

in을 붙인 인풋이 들어온다고 생각하나요>? 아니면 지금 저와같이 없어도 실행이 되기만 하면 되는 것인가요?

문제 스펙에는 전혀 표시가 안되서...
위로
사용자 정보 보기 비밀 메시지 보내기
최준원



가입: 2007년 3월 30일
올린 글: 149

올리기올려짐: 2013년9월14일 11:42    주제: 인용과 함께 답변

인용:
와 같이 종결시 in 붙습니다

먼저 강동옥 조교가 올린 테스트 케이스를 다시 한 번 확인해 주시기 바랍니다.
"let x = ... in ..." 의 문법을 따라야 하기 때문에 가장 마지막 줄에는 아래와 같이 in 으로 끝나지 않습니다.

코드:

let t2 = insert (1, insert (10, insert(30,EMPTY))) in
let t3 = insert (25, insert (34, insert(9, insert (11,EMPTY)))) in
let t5 = merge (t2,t3) in
(findMin t5,findMin (deleteMin t5)) (* 1,9 *)


위 코드를 그대로 붙여서 다시 확인해 주시면 될 것 같습니다.
채점시에는 위와 같이 ;; 을 붙이지 않은 형태를 테스트 케이스로 활용할 수 있습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
심민섭



가입: 2013년 9월 14일
올린 글: 30

올리기올려짐: 2013년9월14일 15:27    주제: 오히려! 인용과 함께 답변

오히려 실행기에서 해당 테스트 케이스 그대로 긁어 와서 가장 끝에 ;; 를 붙이니 실행이 잘 되네요!

저게 한줄에 쓰고 종결 어미가 하나만 필요한 것인지 몰랐어요

근데 질문이

기존의 .ml 파일 안에 해당 테스트 케이스를 복사해서 넣으면 자꾸 에러가 나는데 그건 왜그러죠???

물론 .ml 파일안에 테스트 케이스를 넣을 때는 ;;는 안붙였고요!

다른 과제들도 실행기로 돌릴때는 문제가 전혀 없는데 (컴파일 잘되고요!)

같은 .ml파일안에 테스트 케이스 넣으면 다 에러 나던데...

그래서 제 생각에는 이게 실행기 입장에서는

.ml 파일을 일종의 라이브러리 처럼 사용하는 거 같은데

과제를 제출할 때 같은 .ml 파일 내에 테스트 케이스를 넣어서 돌아가는 것도 고려 해야 하나요??

쉽게 말해 1번 과제가 시작이

let rec sigma = ... 한데 (이거만 있고 하면 컴파일 잘 되고 실행기에서도 sigma 함수 호출이 매우 잘 됩니다!)

그 밑에 sigma ... 하면 컴파일이 안되고 에러가 떠요...
위로
사용자 정보 보기 비밀 메시지 보내기
최준원



가입: 2007년 3월 30일
올린 글: 149

올리기올려짐: 2013년9월14일 15:44    주제: 인용과 함께 답변

인용:
기존의 .ml 파일 안에 해당 테스트 케이스를 복사해서 넣으면 자꾸 에러가 나는데 그건 왜그러죠???

아마 syntax error가 나셨을 것 같은데요,
.ml 파일에서 let-clause 를 사용할 때 가장 상위 레벨의 let에는 in을 붙이지 않습니다.
강동옥 조교가 올린 "OCaml 궁금한점 질문 받습니다" 게시글을 참고하시기 바랍니다.

인용:
과제를 제출할 때 같은 .ml 파일 내에 테스트 케이스를 넣어서 돌아가는 것도 고려 해야 하나요??

.ml 파일 내에 테스트 케이스를 넣어서 확인하실 필요는 없습니다.
위의 문제를 해결하셨다면 글에서 언급하셨듯이 "ocaml -init [filename]"을 통해 실행하시고 테스트 케이스를 실행기에 입력하여 정상적으로 동작함을 확인하면 됩니다.
위로
사용자 정보 보기 비밀 메시지 보내기
심민섭



가입: 2013년 9월 14일
올린 글: 30

올리기올려짐: 2013년9월14일 15:47    주제: 인용과 함께 답변

그렇다면 .ml 파일안에서 아까와 같은 테스트 케이스를 검토하신다면

조교님들이 자체적으로 가장 위의 let 문의 in을 안붙여주시는 건가요?
위로
사용자 정보 보기 비밀 메시지 보내기
최준원



가입: 2007년 3월 30일
올린 글: 149

올리기올려짐: 2013년9월14일 15:51    주제: 인용과 함께 답변

인용:
조교님들이 자체적으로 가장 위의 let 문의 in을 안붙여주시는 건가요?

수강생 혹은 조교팀에서 in을 붙일 필요 없이 채점은 "어떠한 다른 방법"으로 자동으로 이루어집니다.
이전 댓글에 작은 수정을 해서 혼란이 있으셨을 수 있는데, 다시 한 번 말씀드리면
.ml 파일에 직접 테스트 케이스를 넣어 확인하지 않으셔도 되며, ocaml -init 을 통해 확인하시면 됩니다.
위로
사용자 정보 보기 비밀 메시지 보내기
심민섭



가입: 2013년 9월 14일
올린 글: 30

올리기올려짐: 2013년9월14일 15:56    주제: 인용과 함께 답변

감사합니다!
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2013) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay