Factorの文字列は文字のシーケンスであり、専用のボキャブラリに加えて、sequencesプロトコルのすべて(length、nth、head、tail、map、filterなど)を共有しています。
"hello" length . ! => 5
"hello" reverse . ! => "olleh"
"abcdef" 3 head . ! => "abc"
文字列に固有のワードは、主にsplitting、ascii、unicodeにあります。
| ワード | ボキャブラリ | 動作 |
|---|---|---|
split1 |
splitting |
最初に現れる位置で分割する |
split |
splitting |
集合内のいずれかの文字で分割する |
harvest |
sequences |
分割結果から空の要素を取り除く |
replace |
splitting |
部分文字列を置き換える |
surround |
sequences |
接頭辞と接尾辞で囲む |
glue |
sequences |
区切り文字で2つの文字列を連結する |
join |
sequences |
区切り文字で文字列の配列を連結する |
>lower |
ascii |
小文字にする(ASCII) |
>upper |
ascii |
大文字にする(ASCII) |
[ blank? ] trim |
sequences |
先頭と末尾の空白を取り除く |
first, second, third, fourth
|
sequences |
先頭の要素 |
first2, first3
|
sequences |
先頭の2つ、または3つの要素を取り出す |
>string |
strings |
文字のシーケンスを文字列にする |
1string |
strings |
1文字を長さ1の文字列に包む |
CHAR: x |
パーサー | 1文字のリテラル(例:CHAR: A → 65) |
数値と文字列の相互変換には、math.parserがnumber>stringとstring>numberを提供します。書式文字列による出力には、formattingがsprintfなどを提供します。
Unicodeを考慮した大文字小文字の変換や文字の分類には、unicodeの対応するワードを使います。