March 27, 2005

自由自在 Squeak プログラミング:第6章 基本クラスライブラリ探検─その2(1)

Squeak Logo
文字列クラス群:String, Character
<String>:StringクラスはCollectionクラスのサブクラスの為、イテレート系プロトコルが使用できる。Stringクラスのインスタンスは、シングルクォーテーションで囲んだリテラル「'文字列'」で作成できる。
文字列の連結:「,」カンマメッセージで文字列を連結できる。 例:'abcdef' ,'123456'. "print it"
※:文字(Character)はCollectionクラスのサブクラスではないので、カンマメッセージで連結できない。asStringメッセージでキャストする必要が有る。
文字列の比較:「=」で文字列同士を比較できる。 アルファベットの大文字小文字を区別しないで比較する「sameAs:」メッセージも有る。 例:'Squeak' = 'squeak'. "print it" 'Squeak' sameAs:'squeak'. "print it"
文字列のマッチ:「match:」メッセージで文字列の部分マッチを判断できる。マッチするとtrue、マッチしないとfalseを返す。 判断の際、大文字小文字は区別されず、「*」が0文字以上の任意の文字列、「#」が任意の1文字になる。 例:'h#llo sque*' match:'Hello Squeak!'. "print it"
文字列の検索:「(検索される文字列) findString:(検索する文字列) startingAt:(検索開始位置)」メッセージが使える(大文字小文字は区別される)。 例:'Hello Squeak' findString:'Squeak' startingAt:5. "print it"
区切り文字で分割:「(文字列) findToTokens:'(区切り文字)'」メッセージが使える。 例:'Hello Squeak' findTokens:$e. "print it" 'Hello/Squeak:!' findTokens:'/:'. "print it"
文字列の置換:「(文字列) copyReplaceAll:(検索文字列) with:(置換文字列)」メッセージが使える。戻り値は置換された文字列のインスタンスで、オリジナルのインスタンスは変更されない。 例:'Hello world!' copyReplaceAll:'world' with:'Squeak'. "print it"

<Character>:リテラル「$(文字)」でインスタンスを作成できる。 Characterクラスのクラスメソッドカテゴリ「accessing untypeable characters」に、リテラルでは生成しにくいスペースやタブを生成するメッセージが有る。 例:Character space inspect. "do it"
アスキーコードから文字を生成:クラスメソッド「value:」メッセージにアスキーコードを指定して、文字を生成できる。 例:Character value:65. "print it" Character value:(65+32). "print it"
文字からアスキーコードを得る:インスタンスメソッド「asciiValue」メッセージを使う。 例:$z asciiValue. "print it"
文字列への変換:オブジェクトを文字列に変換するには、「asString」メッセージを使用する。 例:12345 asString. "inspect it" Time now asString. "inspect it"
Squeakの多言語対応:MultiString (AbstractStringのサブクラス) と MultiCharacter (Characterのサブクラス) が有る。
これらのインスタンスは、日本語などのマルチバイト文字列や文字を作成した時に作られる。 例:'日本語' "inspect it" '日本語' last. "inspect it"


Posted by 3k1 at 01:44 P | from category: Squeak | TrackBacks
Comments
No comments yet
:

:

Trackbacks