게시판 인덱스

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

EQUAL 에 대해서

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



가입: 2005년 9월 20일
올린 글: 91
위치: SNUCSE OPT. lab.

올리기올려짐: 2005년10월1일 2:02    주제: EQUAL 에 대해서 인용과 함께 답변

수업시간에 아직 타입을 안 배워서 그런지 이부분이 조금 혼동됩니다.

EQUAL(e1, e2) 는 e1 과 e2 이 타입이 같고 값이 같은지를 비교하나요,

아니면 타입이 어떻든 값을 비교하나요? (타입이 다르면 물론 결과는 false)

다른 언어에서의 경험 등으로 볼 때는 후자가 자연스러울 것 같은데,

교수님께서 수업시간에 전자 쪽으로 이야기를 하신 기억이 나는 듯도 합니다.

어느 쪽이 맞을까요 Rolling Eyes ?
_________________
The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
서상원



가입: 2005년 9월 27일
올린 글: 33

올리기올려짐: 2005년10월1일 12:41    주제: 인용과 함께 답변

타입이 같고 값이 같은지를 비교해야 하지 않을까요?
그렇게 하는게 다른 연산자(-,+,<,...)와도 일관성 있어 보이고,
서로 다른 타입 간에 어떻게 값을 비교할 것인지 알지 못한다면 Error를 내는게 맞을 것 같습니다.

타입이 다른데도 값을 비교해주는 언어는 자동 형변환(implicit type conversion)을 통해서 값을 비교해주는거 아닌가요?
에~ K- 에는 형변환 연산도 없고, 에~ 동렬이도 없고, 종범이도 없고.. ㅡ_ㅡ;;

p.s: 그나저나.. 벌써부터 너무 열심히신거 아녜요? Wink
위로
사용자 정보 보기 비밀 메시지 보내기
김덕환



가입: 2005년 8월 29일
올린 글: 190

올리기올려짐: 2005년10월1일 14:00    주제: Re: EQUAL 에 대해서 인용과 함께 답변

김진현 씀:

EQUAL(e1, e2) 는 e1 과 e2 이 타입이 같고 값이 같은지를 비교하나요,

아니면 타입이 어떻든 값을 비교하나요? (타입이 다르면 물론 결과는 false)


실행기가 인자의 타입이 다른 EQUAL을 만났을 경우는 런타임 에러에 해당하는 경우로 예외를 발생시킵니다.

논리적으로 EQUAL = NOT (GREATER OR LESS)이죠? 따라서, 다른 타입의 인자들에 EQUAL이 값을 리턴한다면 GREATER와 LESS도 값을 리턴해야 한다고 볼 수 있습니다. 결국 다른 타입의 값들 사이에 순서를 정의해야 하는 것이지요.

실제로 편의를 위해서 파이썬 언어에서는 그렇게 하기도 합니다. 그러나, 파이썬 언어 공식 레퍼런스에조차 순서가 임의적이며 언젠가는 바뀔 것 같다고 인정할 만큼 자연스럽지 못한 부분입니다.

@ GREATER와 OR 연산은 설명을 위해 도입한 것으로 숙제에는 포함되어 있지 않는 것들입니다.
_________________
TheyAreAsSmartAsYouAre
위로
사용자 정보 보기 비밀 메시지 보내기
최성록
손님





올리기올려짐: 2005년10월4일 23:00    주제: Re: EQUAL 에 대해서 인용과 함께 답변

김덕환 씀:

논리적으로 EQUAL = NOT (GREATER OR LESS)이죠? 따라서, 다른 타입의 인자들에 EQUAL이 값을 리턴한다면 GREATER와 LESS도 값을 리턴해야 한다고 볼 수 있습니다. 결국 다른 타입의 값들 사이에 순서를 정의해야 하는 것이지요.


TRUE와 FALSE의 경우도 GREATER와 LESS가 정의되지 않았으므로 EQUAL 연산이 안되게 해야하는지요??
위로
김덕환



가입: 2005년 8월 29일
올린 글: 190

올리기올려짐: 2005년10월4일 23:13    주제: Re: EQUAL 에 대해서 인용과 함께 답변

최성록 씀:
김덕환 씀:

논리적으로 EQUAL = NOT (GREATER OR LESS)이죠? 따라서, 다른 타입의 인자들에 EQUAL이 값을 리턴한다면 GREATER와 LESS도 값을 리턴해야 한다고 볼 수 있습니다. 결국 다른 타입의 값들 사이에 순서를 정의해야 하는 것이지요.


TRUE와 FALSE의 경우도 GREATER와 LESS가 정의되지 않았으므로 EQUAL 연산이 안되게 해야하는지요??


불린을 내장 타입으로 지원하는 많은 언어들(nML, OCaml, Python, ...)이 그러하듯, FALSE < TRUE라고 정의할 생각입니다. 이 순서도 임의적이기는 합니다만 위의 경우와 달리 동일한 타입의 값들이므로 둘 사이의 순서를 정의하는 것이 크게 무리를 일으키지 않습니다.

@ 오늘 밤에 정의들을 정리해서 올릴 예정입니다.
_________________
TheyAreAsSmartAsYouAre
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2005) 시간대: GMT + 9 시간(한국)
페이지 11

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


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