SqueakByExample:1.9: Difference between revisions
Onionmixer (talk | contribs) (스타일수정) |
Onionmixer (talk | contribs) mNo edit summary |
||
Line 2: | Line 2: | ||
때때로, 여러분은 메소드의 이름을 추측할 수 있거나 또는 조금 더 쉽게 클래스의 이름보다 적어도 메소드 이름의 최소한의 부분을 추측 할 수 있습니다. | 때때로, 여러분은 메소드의 이름을 추측할 수 있거나 또는 조금 더 쉽게 클래스의 이름보다 적어도 메소드 이름의 최소한의 부분을 추측 할 수 있습니다. | ||
예를 들어, 만약 현재 시간에 관심이 있을 경우, | 예를 들어, 만약 현재 시간에 관심이 있을 경우, "now"라 불리는 메소드가 있을 것을 기대하거나 또는 서브문자열(substring)으로서 "now"를 포함하는 메소드를 기대할 것입니다. 그러나 이 메소드가 어디에 있을까요? 메소드 파인더(the method finder)는 이 작업을 위해 여러분을 도울 수 있습니다. | ||
{{CommentSqueak|도구 플랩(the Tools flap)밖으로 {{HighlightGray|method finder}} icon(메소드파인더 아이콘)을 드레그합니다. 상단 왼쪽 창에 | {{CommentSqueak|도구 플랩(the Tools flap)밖으로 {{HighlightGray|method finder}} icon(메소드파인더 아이콘)을 드레그합니다. 상단 왼쪽 창에 "now"를 타이핑하고 {{HighlightGray|accept}}합니다. (또는 RETURN 키를 누릅니다)}} | ||
메소드 파인더(the method finder)는 서브문자열(substring) | 메소드 파인더(the method finder)는 서브문자열(substring) "now"를 포함하고 있는 모든 메소드 이름 목록을 표시할 것입니다. "now"를 향해 스크롤을 내리려면, 목록으로 커서를 옮기고 "n"을 타이핑합니다. 이 기술은 모든 스크롤 되는 창들에서 동작합니다. "now"를 선택하면 그림 1.18에서 보이는 것 처럼, 오른쪽 패널이 "now"라는 이름으로 메소드를 정의하는 3개의 패널을 보여줍니다. 이 패널들 중 아무 패널 한개를 선택하면 그 패널 위에 브라우저가 열립니다. | ||
평소에 여러분은 메소드가 존재한다는 좋은 생각은 갖고 계시지만, 그것이 어떤 이름으로 불리는지에 대한 생각은 하고 있지 못하실 것입니다. 메소드 파인더(the method finder)는 여전히 도움이 됩니다! 예를 들면, 여러분이 문자열을 대문자로 변환하는 메소드 찾기를 원한다고 가정해 봅시다. 예컨데 그 메소드는 | 평소에 여러분은 메소드가 존재한다는 좋은 생각은 갖고 계시지만, 그것이 어떤 이름으로 불리는지에 대한 생각은 하고 있지 못하실 것입니다. 메소드 파인더(the method finder)는 여전히 도움이 됩니다! 예를 들면, 여러분이 문자열을 대문자로 변환하는 메소드 찾기를 원한다고 가정해 봅시다. 예컨데 그 메소드는 'eureka'를 'EUREKA'로 변환할 것입니다. | ||
[[image:methodFinder-now.png|none|467px|thumb|그림 1.18: | [[image:methodFinder-now.png|none|467px|thumb|그림 1.18: "now" 이름을 가진 메소드를 지정하는 3개의 클래스를 보여주는 메소드 파인더(the method finder)]] | ||
Line 19: | Line 19: | ||
메소드 파인더는 여러분이 원하는 메소드를 제안할 것입니다. 메소드 파인더의 우측 패널 라인의 시작부분에 있는 *(별표)는 요청한 결과를 얻기 위해 실제로 사용된 메소드를 가리킵니다. 그러므로, 문자열 asUppercase의 앞에 있는 *별표는, 클래스 문자열(the Class String)에 정의된 메소드 asUppercase가 실행되었으며, 우리가 원했던 결과를 리턴 했다는 사실을 공지합니다. | 메소드 파인더는 여러분이 원하는 메소드를 제안할 것입니다. 메소드 파인더의 우측 패널 라인의 시작부분에 있는 *(별표)는 요청한 결과를 얻기 위해 실제로 사용된 메소드를 가리킵니다. 그러므로, 문자열 asUppercase의 앞에 있는 '''*'''별표는, 클래스 문자열(the Class String)에 정의된 메소드 asUppercase가 실행되었으며, 우리가 원했던 결과를 리턴 했다는 사실을 공지합니다. | ||
별표(*-asterisk)를 갖고 있지 않은 메소드는 기대했던 결과를 리턴한 메소드들과 동일한 이름을 가진 다른 메소드들 입니다. 그러므로 Characater>>asUppercase는 우리의 견본에서 실행되지 않았으며, 그 이유는 ' | 별표(*-asterisk)를 갖고 있지 않은 메소드는 기대했던 결과를 리턴한 메소드들과 동일한 이름을 가진 다른 메소드들 입니다. 그러므로 Characater>>asUppercase는 우리의 견본에서 실행되지 않았으며, 그 이유는 'eureka'가 캐릭터 오브젝트(Character object)가 아니기 때문입니다. | ||
여러분은 또한 메소드를 찾기 위해 인수를 메소드 파인더를 사용할 수 있습니다. 예를 들어, 만약 여러분이 두 개의 정수의 최대 공약수를 찾는 메소드를 찾고 있다면, 그 견본으로 25.35.5를 시도할 수 있습니다. 또한 탐색공간을 좁히기 위해 메소드 파인더이게 여러 개의 예를 제시할 수 있으며, 아래 패널에 있는 도움말 텍스트는 더 많은 내용을 설명할 것입니다. | 여러분은 또한 메소드를 찾기 위해 인수를 메소드 파인더를 사용할 수 있습니다. 예를 들어, 만약 여러분이 두 개의 정수의 최대 공약수를 찾는 메소드를 찾고 있다면, 그 견본으로 25.35.5를 시도할 수 있습니다. 또한 탐색공간을 좁히기 위해 메소드 파인더이게 여러 개의 예를 제시할 수 있으며, 아래 패널에 있는 도움말 텍스트는 더 많은 내용을 설명할 것입니다. |
Revision as of 04:07, 30 August 2012
메소드 찾기
때때로, 여러분은 메소드의 이름을 추측할 수 있거나 또는 조금 더 쉽게 클래스의 이름보다 적어도 메소드 이름의 최소한의 부분을 추측 할 수 있습니다. 예를 들어, 만약 현재 시간에 관심이 있을 경우, "now"라 불리는 메소드가 있을 것을 기대하거나 또는 서브문자열(substring)으로서 "now"를 포함하는 메소드를 기대할 것입니다. 그러나 이 메소드가 어디에 있을까요? 메소드 파인더(the method finder)는 이 작업을 위해 여러분을 도울 수 있습니다.
도구 플랩(the Tools flap)밖으로 method finder icon(메소드파인더 아이콘)을 드레그합니다. 상단 왼쪽 창에 "now"를 타이핑하고 accept합니다. (또는 RETURN 키를 누릅니다)
메소드 파인더(the method finder)는 서브문자열(substring) "now"를 포함하고 있는 모든 메소드 이름 목록을 표시할 것입니다. "now"를 향해 스크롤을 내리려면, 목록으로 커서를 옮기고 "n"을 타이핑합니다. 이 기술은 모든 스크롤 되는 창들에서 동작합니다. "now"를 선택하면 그림 1.18에서 보이는 것 처럼, 오른쪽 패널이 "now"라는 이름으로 메소드를 정의하는 3개의 패널을 보여줍니다. 이 패널들 중 아무 패널 한개를 선택하면 그 패널 위에 브라우저가 열립니다.
평소에 여러분은 메소드가 존재한다는 좋은 생각은 갖고 계시지만, 그것이 어떤 이름으로 불리는지에 대한 생각은 하고 있지 못하실 것입니다. 메소드 파인더(the method finder)는 여전히 도움이 됩니다! 예를 들면, 여러분이 문자열을 대문자로 변환하는 메소드 찾기를 원한다고 가정해 봅시다. 예컨데 그 메소드는 'eureka'를 'EUREKA'로 변환할 것입니다.
그림 1.19에서 보이는 것처럼 'eureka'.'EUREKA'를 메소드 파인더에 타이핑하고 RETURN키를 누릅니다.
메소드 파인더는 여러분이 원하는 메소드를 제안할 것입니다. 메소드 파인더의 우측 패널 라인의 시작부분에 있는 *(별표)는 요청한 결과를 얻기 위해 실제로 사용된 메소드를 가리킵니다. 그러므로, 문자열 asUppercase의 앞에 있는 *별표는, 클래스 문자열(the Class String)에 정의된 메소드 asUppercase가 실행되었으며, 우리가 원했던 결과를 리턴 했다는 사실을 공지합니다.
별표(*-asterisk)를 갖고 있지 않은 메소드는 기대했던 결과를 리턴한 메소드들과 동일한 이름을 가진 다른 메소드들 입니다. 그러므로 Characater>>asUppercase는 우리의 견본에서 실행되지 않았으며, 그 이유는 'eureka'가 캐릭터 오브젝트(Character object)가 아니기 때문입니다.
여러분은 또한 메소드를 찾기 위해 인수를 메소드 파인더를 사용할 수 있습니다. 예를 들어, 만약 여러분이 두 개의 정수의 최대 공약수를 찾는 메소드를 찾고 있다면, 그 견본으로 25.35.5를 시도할 수 있습니다. 또한 탐색공간을 좁히기 위해 메소드 파인더이게 여러 개의 예를 제시할 수 있으며, 아래 패널에 있는 도움말 텍스트는 더 많은 내용을 설명할 것입니다.