Sequenceとは
http://iolanguage.com/scm/git/checkout/Io/docs/IoGuide.html#Sequence勝手に和訳プロジェクト、まだまだ行きます。
Sequence
Ioでは、Symbolと呼ぶ不変Sequenceと、BufferやStringと同等な可変Sequenceがあります。文字列(ソースコード内で""で囲まれたものが一例)はSymbolです。変更操作はSymbolでは実行されないので、asMutableメソッドでSymbolの可変なコピーを作成し、そのコピーに対して変更操作を実行します。共通して、文字列の長さを取得する操作があります。"abc" size ==> 3部分一致をチェック:
"apples" containsSeq("ppl") ==> true位置Nの文字(byte)を取得:
"Kavi" at(1) ==> 97スライス:
"Kirikuro" slice(0, 2) ==> "Ki" "Kirikuro" slice(-2) # NOT: slice(-2, 0)! ==> "ro" Io> "Kirikuro" slice(0, -2) # "Kiriku"スペース除去:
" abc " adMutable strip ==> "abc" " abc " asMutable lstrip ==> "abc " " abc " asMutable rstrip ==> " abc"大文字/小文字変換:
"Kavi" asUppercase ==> "KAVI" "Kavi" asLowercase ==> "kavi"文字列の分割:
"the quick brown fox" split ==> list("the", "quick", "brown", "fox")同様に、他の文字で分割も可能:
"a few good men" split("e") ==> list("a f", "w good m", "n")数値へ変換:
"13" asNumber ==> 13 "a13" asNumber ==> nil文字列の差込:
name := "Fred" ==> Fred "My name is #{name}" interpolate ==> My name is Fred差込は#{}で囲まれた全てを、Ioのローカル文脈のコードとして評価します。コードには制御構文も記述できますが、asStringに反応するオブジェクトを返却する必要があります。
ちなみに、文字列の結合は".."で。
Io> "hoge" .. "fuga" ==> hogefuga