게시판 인덱스

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

몇가지 생소한 점에 대한 질문입니다.

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



가입: 2006년 9월 4일
올린 글: 25

올리기올려짐: 2006년9월16일 17:17    주제: 몇가지 생소한 점에 대한 질문입니다. 인용과 함께 답변

질문1 :
함수에서 리턴값을 보내지 않으려고 할 때는 어떤 방법을 써야 하나요..
코드:
   ex) fun one(1) = "OK"
         | one(_) = NULL

위의 NULL 대신 무언가 적절한 것을 넣어서 아무것도 안보내게 할 수는 없는지?
Ex3을 하던 중 백의자리에 "백" 등을 보낼땐 상관없지만 일의자리에 "일"을 보내면 안되기 때문에...(우선은 리스트화로 해결해놓았습니다만..) 좋은 방법이 없는지 궁금합니다.

질문2 :
type로 정의한 것들 중 여러겹으로 쓰이는 것들(crazy2도 마찬가지..)을 한꺼풀 벗기는 좋은 방법은 없는지요?
코드:
   ex) type a = A | B of a | C of a
       val v = B(C(B A))

일 때
B(v2) = v 등으로 벗길 수는 있지만.. C(v2) = v 등을 쓰지 않으면 경고가 발생하는 점도 있고 하여,
1. 이렇게 한꺼풀씩 벗기는 것 말고 A에 도달할 수 있는 방법이 있는지
2. 1을 응용하여 중간의 어느 지점에 한번에 도달할 수 있는지
3. 마찬가지로 v가 몇겹인지 한번에 알 수 있는지
등이 궁금합니다.

새로운 것에 적응한다는게 좀 힘드네요 -_-;
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년9월18일 12:58    주제: Re: 몇가지 생소한 점에 대한 질문입니다. 인용과 함께 답변

송수현 씀:
함수에서 리턴값을 보내지 않으려고 할 때는 어떤 방법을 써야 하나요..

함수형 언어에서 "함수"란 입력에 따른 결과를 리턴하는 물건입니다.
따라서 리턴값이 없는 함수는 존재할 수 없습니다.

송수현 씀:
코드:
   ex) fun one(1) = "OK"
         | one(_) = NULL

위의 NULL 대신 무언가 적절한 것을 넣어서 아무것도 안보내게 할 수는 없는지?
Ex3을 하던 중 백의자리에 "백" 등을 보낼땐 상관없지만 일의자리에 "일"을 보내면 안되기 때문에...(우선은 리스트화로 해결해놓았습니다만..) 좋은 방법이 없는지 궁금합니다.

따라서, 위와 같은 효과를 얻기 위해서는 그러한 함수의 결과값을 재처리해주는 루틴이 필요합니다.

송수현 씀:
type로 정의한 것들 중 여러겹으로 쓰이는 것들(crazy2도 마찬가지..)을 한꺼풀 벗기는 좋은 방법은 없는지요?
코드:
   ex) type a = A | B of a | C of a
       val v = B(C(B A))

일 때
B(v2) = v 등으로 벗길 수는 있지만.. C(v2) = v 등을 쓰지 않으면 경고가 발생하는 점도 있고 하여,
1. 이렇게 한꺼풀씩 벗기는 것 말고 A에 도달할 수 있는 방법이 있는지
2. 1을 응용하여 중간의 어느 지점에 한번에 도달할 수 있는지
3. 마찬가지로 v가 몇겹인지 한번에 알 수 있는지
등이 궁금합니다.

안타깝지만, 제가 알기론, 위와 같은 일을 쉽게 처리하는 기본 연산자가 없습니다.
패턴매칭 등을 이용해서 재귀적으로 하나씩 벗겨나가면서 일을 처리하도록 루틴을 구성하는 것이 가장 자연스러울 것이라 생각합니다.

송수현 씀:
새로운 것에 적응한다는게 좀 힘드네요 -_-;

네, 함수형 언어에 익숙해지려면 시간이 좀 필요합니다만,
일단 익숙해지시면, 그 편리함과 자연스러움에 감탄하실 수 있을 것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
송수현



가입: 2006년 9월 4일
올린 글: 25

올리기올려짐: 2006년9월18일 13:02    주제: 인용과 함께 답변

즉, null type의 list는 존재하나([], nil 등) null type의 string나 int등은 없다는 말씀이군요.

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

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


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