게시판 인덱스

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

두 함수가 서로 호출하게 만들려면 어떻게 선언하죠?

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
kaniblu



가입: 2011년 3월 11일
올린 글: 3

올리기올려짐: 2011년3월18일 18:05    주제: 두 함수가 서로 호출하게 만들려면 어떻게 선언하죠? 인용과 함께 답변

예)
let fun1 a =
match a with
| 1 -> 2
| _ -> 1 + fun2 a;;

let fun2 a =
match a with
| 5 -> 1 + fun1 a
| _ -> 3

C 에서는 맨 처음에 let fun2 a ;; 식으로 함수의 이름과 입력 타입을 선언해주면 되는데 ocaml에서는 어떻게 하나요?
위로
사용자 정보 보기 비밀 메시지 보내기
김진영_



가입: 2009년 12월 9일
올린 글: 337

올리기올려짐: 2011년3월18일 20:33    주제: 인용과 함께 답변

먼저 Recursive 함수는 let이 아닌 let rec을 이용해서 정의하셔야 합니다.
그리고 말씀하신 Mutually Recursive 함수들은 let rec으로 정의하시되 이들을 and로 연결해 주시면 됩니다.

예를 들어 말씀하신 것처럼 fun1에서 fun2를 부르고, fun2에서 fun1을 부르도록 하고 싶으면

코드:
let rec fun1 x = (* body *)
and fun2 x = (* body *)


처럼 정의해서 사용하시면 됩니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011) 시간대: GMT + 9 시간(한국)
페이지 11

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


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