Lily (Source) (Ver 0.1.0) | 2015-05-12 22:42 |
Lily本体のソースコードにおけるCharacterクラスについて記します。Lilyソースファイル・定数と主な変数の一覧も参照。
Lily内部で1文字を保存する変数の型です。実体はint型です。
全角・半角に関係なく、Lilyは内部で1字あたり4バイトの領域を取ることになります。
OS Xの標準文字コードであるUTF-8において全角文字は1字あたり3バイトですが、wchar_tは2バイトとなっており、UTF-8に対応することができません。
また、wchar_tの詳細な仕様はOSによって異なり、今後1字が5バイト以上となる文字コードの出現も極めて考えにくいため、新しい型の定義に至りました。
文字コードごとに、指定された文字が全角であるか半角であるかを判別する機能を提供します。
文字列コピー、比較を主とする文字列処理メソッドを収録しています。
char、lchar間の文字列変換処理を行うメソッドを収録しています。また、charをlcharに変換した後の文字数がいくつになるか、またその逆の場合の計算を行うstrlen関数・lstrlen関数などもあります。
文字列コピー、変換処理において、名前がnで終わるメソッドがいくらかあります。これらのメソッドは、ポインタのポインタである引数を持ちます。メソッドは指定した引数内に領域を作ります。これらの領域はnew演算子を用いてヒープ領域から確保されるため、呼び出し側は自分でこの領域をdeleteして破棄しなければいけません。