SqueakByExample:1.9: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SBE 메소드찾기 페이지 추가)
 
(책 검수)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
==메소드 찾기==
==메서드 찾기==


때때로, 여러분은 메소드의 이름을 추측할 수 있거나 또는 조금 더 쉽게 클래스의 이름보다 적어도 메소드 이름의 최소한의 부분을 추측 할 수 있습니다.
때로는, 여러분이 메서드의 이름을 추측할 수 있거나, 클래스의 이름보다는 적어도 메서드 이름의 작은 부분을 보다 더 쉽게 추측 할 수 있습니다. 예를 들어, 만약 현재 시간이 궁금할 경우, "now"라 불리는 메서드나 하위 문자열에 "now"를 포함하는 메서드를 기대할 수 있을 것입니다. 그런데 메서드는 어디에 있을까요? Method Finder 가 도와드릴 수 있습니다.  
예를 들어, 만약 현재 시간에 관심이 있을 경우, “now”라 불리는 메소드가 있을 것을 기대하거나 또는 서브문자열(substring)으로서 “now”를 포함하는 메소드를 기대할 것입니다. 그러나 메소드가 어디에 있을까요? 메소드 파인더(the method finder)는 이 작업을 위해 여러분을 도울 수 있습니다.  




{{CommentSqueak|도구 플랩(the Tools flap)밖으로 {{HighlightGray|method finder}} icon(메소드파인더 아이콘)을 드레그합니다. 상단 왼쪽 창에 “now”를 타이핑하고 {{HighlightGray|accept}}합니다. (또는 RETURN 키를 누릅니다)}}
{{CommentSqueak|"Tools flap" 밖으로 {{HighlightGray|method finder}} 아이콘을 끌어내십시오. 상단 왼쪽 창에 "now"를 입력하고 {{HighlightGray|accept}} 하십시오. (또는 그냥 return 키를 누르십시오.)}}




메소드 파인더(the method finder)서브문자열(substring) “now”를 포함하고 있는 모든 메소드 이름 목록을 표시할 것입니다. “now”를 향해 스크롤을 내리려면, 목록으로 커서를 옮기고 “n”을 타이핑합니다. 이 기술은 모든 스크롤 되는 창들에서 동작합니다. “now”를 선택하면 그림 1.18에서 보이는 것 처럼, 오른쪽 패널이 “now”라는 이름으로 메소드를 정의하는 3개의 패널을 보여줍니다. 이 패널들 아무 패널 한개를 선택하면 그 패널 위에 브라우저가 열립니다.
Method Finder 하위 문자열 "now" 를 포함하고 있는 모든 메서드 이름의 목록을 표시할 것입니다. "now" 를 향해 스크롤을 내리려면, 목록으로 커서를 옮기고 "n"을 입력합니다. 이 기술은 모든 스크롤 창에서 동작합니다. "now" 를 선택하면 그림 1.18에서 보시는 바와 같이 오른쪽 창에서 이 이름으로 정의된 세가지 클래스 및 메서드를 보여줍니다. 이 항목 아무거나 한가지를 선택하면 해당 창에 브라우저를 엽니다.


평소에 여러분은 메소드가 존재한다는 좋은 생각은 갖고 계시지만, 그것이 어떤 이름으로 불리는지에 대한 생각은 하고 있지 못하실 것입니다. 메소드 파인더(the method finder)는 여전히 도움이 됩니다! 예를 들면, 여러분이 문자열을 대문자로 변환하는 메소드 찾기를 원한다고 가정해 봅시다. 예컨데 그 메소드는 ‘eureka’를 ‘EUREKA’로 변환할 것입니다.


[[image:methodFinder-now.png|none|467px|thumb|그림 1.18: "now" 이름을 가진 메서드를 정의한 세가지 클래스를 보여주는 Method Finder]]


[[image:MethodFinder-example1.png|none|467px|thumb|그림 1.18: “now” 이름을 가진 메소드를 지정하는 3개의 클래스를 보여주는 메소드 파인더(the method finder)]]


평소에는 메서드가 존재한다는 바람직한 생각을 갖고 계시겠지만, 그것이 어떤 이름으로 불리는 지에 대한 생각은 하고 있지 못하실 것입니다. 이 상황에서도 Method Finder 는 도움가 도움을 줄 수 있습니다! 예를 들면, 'eureka' 를 'EUREKA' 로 모든 문자를 대문자로 변환하는 상황을 가정해봅시다.


{{CommentSqueak|그림 1.19에서 보이는 것처럼 ‘eureka’.’EUREKA’를 메소드 파인더에 타이핑하고 RETURN키를 누릅니다.}}


{{CommentSqueak|그림 1.19에서 보이는 것처럼 {{HighlightBold|'eureka'.'EUREKA'}}를 메서드 검색에 입력하고 {{HighlightBold|RETURN}}키를 누르십시오.}}


메소드 파인더는 여러분이 원하는 메소드를 제안할 것입니다. 메소드 파인더의 우측 패널 라인의 시작부분에 있는 *(별표)는 요청한 결과를 얻기 위해 실제로 사용된 메소드를 가리킵니다. 그러므로, 문자열 asUppercase의 앞에 있는 *별표는, 클래스 문자열(the Class String)에 정의된 메소드 asUppercase가 실행되었으며, 우리가 원했던 결과를 리턴 했다는 사실을 공지합니다.


별표(*-asterisk)를 갖고 있지 않은 메소드는 기대했던 결과를 리턴한 메소드들과 동일한 이름을 가진 다른 메소드들 입니다. 그러므로 Characater>>asUppercase는 우리의 견본에서 실행되지 않았으며, 그 이유는 'eureka’가 캐릭터 오브젝트(Character object)가 아니기 때문입니다.  
Method Finder 는 여러분이 원하는 메서드를 제시할 것입니다. Method Finder 의 우측 패인의 각각의 라인 시작부분에 있는 *(별표) 문자는 요청한 결과를 가져오기 위해 실제로 사용한 메서드임을 가리킵니다. 따라서, String asUppercase 의 앞 부분의 '''*'''(별표) 문자는, ''String'' 클래스에 정의된 asUppercase 메서드를 실행했으며, 우리가 원했던 결과를 반환했음을 의미합니다. *(별표)를 갖고 있지 않은 메서드는 기대했던 결과를 반환하는 메서드와 동일한 이름을 가진 다른 메서드입니다. 따라서 'eureka' 는 Character 객체가 아니므로 Characater>>asUppercase 를 실행하지 않았습니다.
 
 
[[image:MethodFinder-example1.png|none|467px|thumb|그림 1.19: 메서드 찾기 예제]]
 
 
또한 인자를 가진 메서드에 대해서도 Method Finder 를 사용할 수 있습니다. 예를 들어, 만약 여러분이 두 개의 정수의 최대 공약수를 찾는 메서드를 찾고 있다면, 그 예로 '25'. '35'. '5' 를 시도해볼 수 있습니다. 또한 탐색 범위를 좁히기 위해 메서드 검색에 여러 가지 예제를 제시할 수도 있으며, 하단 창에 있는 도움말 텍스트로 더 많은 내용을 설명합니다.
 


여러분은 또한 메소드를 찾기 위해 인수를 메소드 파인더를 사용할 수 있습니다. 예를 들어, 만약 여러분이 두 개의 정수의 최대 공약수를 찾는 메소드를 찾고 있다면, 그 견본으로 25.35.5를 시도할 수 있습니다. 또한 탐색공간을 좁히기 위해 메소드 파인더이게 여러 개의 예를 제시할 수 있으며, 아래 패널에 있는 도움말 텍스트는 더 많은 내용을 설명할 것입니다.


==Notes==
==Notes==

Latest revision as of 08:53, 12 August 2017

메서드 찾기

때로는, 여러분이 메서드의 이름을 추측할 수 있거나, 클래스의 이름보다는 적어도 메서드 이름의 작은 부분을 보다 더 쉽게 추측 할 수 있습니다. 예를 들어, 만약 현재 시간이 궁금할 경우, "now"라 불리는 메서드나 하위 문자열에 "now"를 포함하는 메서드를 기대할 수 있을 것입니다. 그런데 이 메서드는 어디에 있을까요? Method Finder 가 도와드릴 수 있습니다.


Squeak comment.png"Tools flap" 밖으로 method finder 아이콘을 끌어내십시오. 상단 왼쪽 창에 "now"를 입력하고 accept 하십시오. (또는 그냥 return 키를 누르십시오.)


Method Finder 는 하위 문자열 "now" 를 포함하고 있는 모든 메서드 이름의 목록을 표시할 것입니다. "now" 를 향해 스크롤을 내리려면, 목록으로 커서를 옮기고 "n"을 입력합니다. 이 기술은 모든 스크롤 창에서 동작합니다. "now" 를 선택하면 그림 1.18에서 보시는 바와 같이 오른쪽 창에서 이 이름으로 정의된 세가지 클래스 및 메서드를 보여줍니다. 이 항목 중 아무거나 한가지를 선택하면 해당 창에 브라우저를 엽니다.


그림 1.18: "now" 이름을 가진 메서드를 정의한 세가지 클래스를 보여주는 Method Finder


평소에는 메서드가 존재한다는 바람직한 생각을 갖고 계시겠지만, 그것이 어떤 이름으로 불리는 지에 대한 생각은 하고 있지 못하실 것입니다. 이 상황에서도 Method Finder 는 도움가 도움을 줄 수 있습니다! 예를 들면, 'eureka' 를 'EUREKA' 로 모든 문자를 대문자로 변환하는 상황을 가정해봅시다.


Squeak comment.png그림 1.19에서 보이는 것처럼 'eureka'.'EUREKA'를 메서드 검색에 입력하고 RETURN키를 누르십시오.


Method Finder 는 여러분이 원하는 메서드를 제시할 것입니다. Method Finder 의 우측 패인의 각각의 라인 시작부분에 있는 *(별표) 문자는 요청한 결과를 가져오기 위해 실제로 사용한 메서드임을 가리킵니다. 따라서, String asUppercase 의 앞 부분의 *(별표) 문자는, String 클래스에 정의된 asUppercase 메서드를 실행했으며, 우리가 원했던 결과를 반환했음을 의미합니다. *(별표)를 갖고 있지 않은 메서드는 기대했던 결과를 반환하는 메서드와 동일한 이름을 가진 다른 메서드입니다. 따라서 'eureka' 는 Character 객체가 아니므로 Characater>>asUppercase 를 실행하지 않았습니다.


그림 1.19: 메서드 찾기 예제


또한 인자를 가진 메서드에 대해서도 Method Finder 를 사용할 수 있습니다. 예를 들어, 만약 여러분이 두 개의 정수의 최대 공약수를 찾는 메서드를 찾고 있다면, 그 예로 '25'. '35'. '5' 를 시도해볼 수 있습니다. 또한 탐색 범위를 좁히기 위해 메서드 검색에 여러 가지 예제를 제시할 수도 있으며, 하단 창에 있는 도움말 텍스트로 더 많은 내용을 설명합니다.


Notes