SqueakByExample:8.3: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SBE 문자 페이지 추가)
 
(번역수정)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
==문자(Characters)==
==Character==
 
Character 는 Magnitude 의 하위 클래스로서 Collections-String 에 정의되어 있습니다. 표시할 수 있는 문자는 $<char> 처럼 스퀵에서는 표현됩니다. 예를 들면 이렇게 말이죠:


문자는 메그니튜드(Magnitude)의 서브클래스로서 Collections-String에서 정의됩니다. $<char>처럼 스퀵에서 인쇄 가능한 문자들이 표현됩니다. 예를 들면 이렇게 말이죠:
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
$a < $b    ⇒    true
$a < $b    ⇒    true
Line 7: Line 8:




인쇄 문자(Non-printing characters)는 다양한 클래스 메소드들을 사용하여 발생됩니다. '''Character class»value:'''는 Unicode (또는 ASCII) 정수 값을 인수로서 취하고 대응하는 character를 리턴합니다. '''accessing untyPeable character''' 프로토콜은 '''backspace''', '''cr''', '''escape''', '''euro''', '''space''', '''tab''' 등과 같은 여러 개의 편리한 constructor 메소드를 포함하고 있습니다.  
인쇄-불가능한 문자는 다양한 클래스 메서드들을 통해서 발생됩니다. '''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:''' 메소드는 가장 적합한 표현을 제공하는 문자들을(characters) 발생시키는 3 가지 방법을 알만큼 충분히 영리합니다:
'''printOn:''' 메서드는 문자를 표현하는 세가지 방법중 어떤것이 가장 적합한지를 판단할 수 있을만큼 똑똑합니다.:
 
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
Character value: 1      ⇒      Character value: 1
Character value: 1      ⇒      Character value: 1
Line 21: Line 24:




다양하고 편리한 testing 메소드들은 isAlphaNumeric, isCharacter, isDigit, isLowercase, isVowel에 내장된(built in) 메소드들입니다.
isAlphaNumeric, isCharacter, isDigit, isLowercase, isVowel 와 같은 다양하고 편리한 ''testing'' 메서드가 내장되어 있습니다.
 
Character 를, 바로 그 문자를 포함한 문자열로 변환하시려면 asString 을 전송합니다. 이번 경우, asString 과 pringString 은 다른 결과를 보여줍니다:


문자를, 바로 그 문자를 포함한 문자열(string)으로 변환하시려면 asString을 발송합니다. 이번 사례에서, asString과 pringString은 다른 결과를 내놓았습니다: 
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
$a asString      ⇒    'a'
$a asString      ⇒    'a'
Line 31: Line 35:




모든 ascii 문자는 클래스 변수 CharacterTable에 저장된 고유한 인스턴스(unique instance)입니다:  
모든 ASCII 문자는 클래스 변수 CharacterTable 에 저장된 고유한 인스턴스입니다:
 
<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
(Character value: 97) == $a    ⇒    true
(Character value: 97) == $a    ⇒    true
Line 37: Line 42:




0에서 255 범위 밖의 문자들은 고유하지(unique)않습니다, 그럼에도 불구하고:
하지만 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

  1. 예제중 두번째것을 보면 당연히 같은 500값에 해당하므로 비교시 true 가 출력되어야 하나 false 가 출력되고 있습니다. 그래서 ASCII 를 벗어나는 문자는 동일하지 않을 수 있다고 설명하는 것이죠.