SqueakByExample:3.8: Difference between revisions
Jump to navigation
Jump to search
Onionmixer (talk | contribs) (스타일 수정) |
Onionmixer (talk | contribs) (번역수정) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
==3장 요약== | ==3장 요약== | ||
* 스퀵은 | * 스퀵은 가상 변수라고 불리기도 하는 여섯개의 예비 식별자를 갖고 있습니다:<BR>true, false, nil, self, super, thisContext. | ||
* | * 다섯 종류의 리터럴 오브젝트가 있습니다: 숫자 (5, 2.5, 1.9e15, 2r111 등),문자 ($a), 문자열 ('hello'), 심볼 (#hello), 그리고 배열 (#('hello'#hello)) | ||
* 문자열은 작은 따옴표로 | * 문자열은 작은 따옴표로 범위를 정하며, 주석은 큰 따옴표로 정합니다. 문자열 내부에서 사용하려면 큰 따옴표를 사용합니다. | ||
* 문자열과 | * 문자열과 달리, 심볼은 광범위한 고유성을 보장받습니다. | ||
* 리터럴 | * 리터럴 배열을 정의하기 위해 #( ... )를 사용합니다. 동적 배열을 정의하기 위해 { ... }를 사용합니다.<BR>#( 1 + 2 ) size ⇒ 3 이지만 { 1 + 2 } size ⇒ 1임에 유의합니다. | ||
* | * 세 종류의 메시지가 있습니다:<BR>단항 메시지(예를 들면 1 asString, Array new), 이항 메시지(예를 들면 3+4, 'hi', ' there'), 키워드 메시지(예를 들면 'hi' at: 2 put: $o) | ||
* | * 캐스케이드 메시지 발송은 세미콜론으로 분리되어 동일한 대상으로 보냅니다: OrderedCollection new add: #calvin; add: #hobbes; size ⇒ 2 | ||
* | * 지역 변수는 수직 바와 함께 선언합니다. 할당을 위해 := 를 사용합니다. ←<sup>To Left Arrow</sup>또는 _는 작동하지만, 스퀵 3.9 이후로, 비추천 기호입니다.<BR>|x| x:=1 | ||
* | * 수식식은 메시지 sends, cascades, assingnments로 구성되며, 괄호로 그룹을 만들 수 있습니다. 선언문은 구두점으로 구분한 수식입니다. | ||
* 블록 | * 블록 구분자<sup>Block closures</sup>는 꺽쇠 괄호로 둘러싼 수식입니다. 블록은 인수를 취할 수 있고 임시 변수를 포함할 수 있습니다. | ||
* 블록에 있는 | * 블록에 있는 수식은 여러분이 블록 값…메시지를 정확한 숫자의 인수와 함께 보낼 때까지 계산하지 않습니다. <BR>[:x | x + 2] value: 4 ⇒ 6. | ||
* | * 제어 구성을 위한 구문은 없으며, 메시지가 조건적으로 블록을 처리합니다. <BR>(Smalltalk includes: Class) ifTrue: [ Transcript show: Class superclass ] | ||
==Notes== | ==Notes== |
Latest revision as of 13:02, 1 March 2013
3장 요약
- 스퀵은 가상 변수라고 불리기도 하는 여섯개의 예비 식별자를 갖고 있습니다:
true, false, nil, self, super, thisContext. - 다섯 종류의 리터럴 오브젝트가 있습니다: 숫자 (5, 2.5, 1.9e15, 2r111 등),문자 ($a), 문자열 ('hello'), 심볼 (#hello), 그리고 배열 (#('hello'#hello))
- 문자열은 작은 따옴표로 범위를 정하며, 주석은 큰 따옴표로 정합니다. 문자열 내부에서 사용하려면 큰 따옴표를 사용합니다.
- 문자열과 달리, 심볼은 광범위한 고유성을 보장받습니다.
- 리터럴 배열을 정의하기 위해 #( ... )를 사용합니다. 동적 배열을 정의하기 위해 { ... }를 사용합니다.
#( 1 + 2 ) size ⇒ 3 이지만 { 1 + 2 } size ⇒ 1임에 유의합니다. - 세 종류의 메시지가 있습니다:
단항 메시지(예를 들면 1 asString, Array new), 이항 메시지(예를 들면 3+4, 'hi', ' there'), 키워드 메시지(예를 들면 'hi' at: 2 put: $o) - 캐스케이드 메시지 발송은 세미콜론으로 분리되어 동일한 대상으로 보냅니다: OrderedCollection new add: #calvin; add: #hobbes; size ⇒ 2
- 지역 변수는 수직 바와 함께 선언합니다. 할당을 위해 := 를 사용합니다. ←To Left Arrow또는 _는 작동하지만, 스퀵 3.9 이후로, 비추천 기호입니다.
|x| x:=1 - 수식식은 메시지 sends, cascades, assingnments로 구성되며, 괄호로 그룹을 만들 수 있습니다. 선언문은 구두점으로 구분한 수식입니다.
- 블록 구분자Block closures는 꺽쇠 괄호로 둘러싼 수식입니다. 블록은 인수를 취할 수 있고 임시 변수를 포함할 수 있습니다.
- 블록에 있는 수식은 여러분이 블록 값…메시지를 정확한 숫자의 인수와 함께 보낼 때까지 계산하지 않습니다.
[:x | x + 2] value: 4 ⇒ 6. - 제어 구성을 위한 구문은 없으며, 메시지가 조건적으로 블록을 처리합니다.
(Smalltalk includes: Class) ifTrue: [ Transcript show: Class superclass ]