SqueakByExample:8.3: Difference between revisions
Jump to navigation
Jump to search
Onionmixer (talk | contribs) (SBE 문자 페이지 추가) |
Onionmixer (talk | contribs) (번역수정) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== | ==Character== | ||
Character 는 Magnitude 의 하위 클래스로서 Collections-String 에 정의되어 있습니다. 표시할 수 있는 문자는 $<char> 처럼 스퀵에서는 표현됩니다. 예를 들면 이렇게 말이죠: | |||
<syntaxhighlight lang="smalltalk"> | <syntaxhighlight lang="smalltalk"> | ||
$a < $b ⇒ true | $a < $b ⇒ true | ||
Line 7: | Line 8: | ||
인쇄-불가능한 문자는 다양한 클래스 메서드들을 통해서 발생됩니다. '''Character class>>value:''' 는 Unicode (또는 ASCII) 정수 값을 인수로서 사용하고 해당하는 문자를 반환합니다. '''accessing untyPeable character''' 프로토콜은 '''backspace''', '''cr''', '''escape''', '''euro''', '''space''', '''tab''' 등과 같은 여러가지 편리한 생성자 메서드를 포함하고 있습니다. | |||
<syntaxhighlight lang="smalltalk"> | <syntaxhighlight lang="smalltalk"> | ||
Character space = (Character value: Character space asciiValue) ⇒ true | Character space = (Character value: Character space asciiValue) ⇒ true | ||
Line 13: | Line 15: | ||
'''printOn:''' | '''printOn:''' 메서드는 문자를 표현하는 세가지 방법중 어떤것이 가장 적합한지를 판단할 수 있을만큼 똑똑합니다.: | ||
<syntaxhighlight lang="smalltalk"> | <syntaxhighlight lang="smalltalk"> | ||
Character value: 1 ⇒ Character value: 1 | Character value: 1 ⇒ Character value: 1 | ||
Line 21: | Line 24: | ||
isAlphaNumeric, isCharacter, isDigit, isLowercase, isVowel 와 같은 다양하고 편리한 ''testing'' 메서드가 내장되어 있습니다. | |||
Character 를, 바로 그 문자를 포함한 문자열로 변환하시려면 asString 을 전송합니다. 이번 경우, asString 과 pringString 은 다른 결과를 보여줍니다: | |||
<syntaxhighlight lang="smalltalk"> | <syntaxhighlight lang="smalltalk"> | ||
$a asString ⇒ 'a' | $a asString ⇒ 'a' | ||
Line 31: | Line 35: | ||
모든 | 모든 ASCII 문자는 클래스 변수 CharacterTable 에 저장된 고유한 인스턴스입니다: | ||
<syntaxhighlight lang="smalltalk"> | <syntaxhighlight lang="smalltalk"> | ||
(Character value: 97) == $a ⇒ true | (Character value: 97) == $a ⇒ true | ||
Line 37: | Line 42: | ||
하지만 0 에서 255 범위 밖의 character 들은 고유하지 않습니다. 아래와같이 말이죠<ref name="편집자주1">예제중 두번째것을 보면 당연히 같은 500값에 해당하므로 비교시 true 가 출력되어야 하나 false 가 출력되고 있습니다. 그래서 ASCII 를 벗어나는 문자는 동일하지 않을 수 있다고 설명하는 것이죠.</ref>: | |||
<syntaxhighlight lang="smalltalk"> | <syntaxhighlight lang="smalltalk"> | ||
Character characterTable size ⇒ 256 | Character characterTable size ⇒ 256 |
Latest revision as of 15:20, 9 August 2013
Character
Character 는 Magnitude 의 하위 클래스로서 Collections-String 에 정의되어 있습니다. 표시할 수 있는 문자는 $<char> 처럼 스퀵에서는 표현됩니다. 예를 들면 이렇게 말이죠:
$a < $b ⇒ true
인쇄-불가능한 문자는 다양한 클래스 메서드들을 통해서 발생됩니다. Character class>>value: 는 Unicode (또는 ASCII) 정수 값을 인수로서 사용하고 해당하는 문자를 반환합니다. accessing untyPeable character 프로토콜은 backspace, cr, escape, euro, space, tab 등과 같은 여러가지 편리한 생성자 메서드를 포함하고 있습니다.
Character space = (Character value: Character space asciiValue) ⇒ true
printOn: 메서드는 문자를 표현하는 세가지 방법중 어떤것이 가장 적합한지를 판단할 수 있을만큼 똑똑합니다.:
Character value: 1 ⇒ Character value: 1
Character value: 32 ⇒ Character space
Character value: 97 ⇒ $a
isAlphaNumeric, isCharacter, isDigit, isLowercase, isVowel 와 같은 다양하고 편리한 testing 메서드가 내장되어 있습니다.
Character 를, 바로 그 문자를 포함한 문자열로 변환하시려면 asString 을 전송합니다. 이번 경우, asString 과 pringString 은 다른 결과를 보여줍니다:
$a asString ⇒ 'a'
$a ⇒ $a
$a printString ⇒ '$a'
모든 ASCII 문자는 클래스 변수 CharacterTable 에 저장된 고유한 인스턴스입니다:
(Character value: 97) == $a ⇒ true
하지만 0 에서 255 범위 밖의 character 들은 고유하지 않습니다. 아래와같이 말이죠[1]:
Character characterTable size ⇒ 256
(Character value: 500) == (Character value: 500) ⇒ false
Notes
- ↑ 예제중 두번째것을 보면 당연히 같은 500값에 해당하므로 비교시 true 가 출력되어야 하나 false 가 출력되고 있습니다. 그래서 ASCII 를 벗어나는 문자는 동일하지 않을 수 있다고 설명하는 것이죠.