게시판 인덱스

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

3/7 실습 질문들 답변

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



가입: 2005년 9월 29일
올린 글: 363
위치: 302동 312-2호

올리기올려짐: 2007년3월7일 11:42    주제: 3/7 실습 질문들 답변 인용과 함께 답변

안녕하세요, 공순호 조교 입니다.

3/7 실습 도중 질문 사항에 대해서 정리해 보았습니다.


1. comment
; 을 이용하시면 line comment가 됩니다.
코드:

In a Scheme program, any line that begins with one or more semicolons is a comment:

; This is a comment.  DrScheme will store it along with the rest of the
; text of a program, but does not even attempt to execute any part of it.


2. (= #t #f) ?

scheme에서 = 는 수를 비교하는 것으로만 이용됩니다.

boolean을 비교하고자 하면, eq?를 이용하여
코드:

(eq? #t #f)

하시면 됩니다.

3. 3 == (3) == ((3)) ?

처음으로 scheme을 해보신 분들은 괄호 때문에 어려움을 겪으실 수도 있을 것으로 생각합니다.

C/Java와 같은 언어에 익숙하신 분들은

3, (3), ((3)) 이 모두 같은 것을 의미한다고 생각하시고, scheme에서도 이렇게 작성을 하기 쉽습니다. 하지만 scheme에서는 괄호가 의미를 가집니다.

결코 "있으면 좋고, 없어도 그만인 것"이 아닙니다.


scheme은는 () 는 procedure application을 나타냅니다.

즉, () 안은 반드시! procedure/special form 이어야 합니다.


3은 procedure가 아닙니다. 따라서 (3)은 올바른 것이 아닙니다.

+는 primitive procedure입니다. 따라서 (+ 3 4)는 올바른 것입니다.

하지만 ((+ 3 4))는 다시 올바른 것이 아닙니다. ((+ 3 4)) => (7)이 되는데 (7)은 올바른 것이 아니기 때문입니다.

이러한 점을 유의하시고 실습/숙제하시면 좋을 것 같습니다.

p.s.> C 언어에서 f(int x, int y)에 대한 호출로 f(3, 4) 은 올바르지만, f((3, 4))은 올바르지 않음을 생각해보시면 좋을 것 같습니다.

p.s.2.> () 안에 special form(define, cond, ...) 등이 오는 것도 가능하다는 것은 알고 계실 것으로 생각합니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Spring 2007) 시간대: GMT + 9 시간(한국)
페이지 11

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


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