文字と文字列について
ここでは文字と文字列の記述についてを記載します。
小ネタなので、それ以外の文字列の内部データ形式などについてはこちらをどうぞ。
Object Pascal で文字を表す方法
- '' シングルクォートを使う
- # を使う
- ^ を使う
var
Ch: Char;
begin
Ch := 'A'; // (1) の方法
Ch := #65; // (2) の方法(16進数で Ch := #$41 とも書けます)
Ch := ^M; // (3) の方法(^A = #1 で始まり全ての文字が使えます。主に制御文字を書くのに使います)
end.
Object Pascal の文字・文字列の連結
- 足し算
- 無
const
Str1 = 'ABC' + 'DEF'; // (1) の方法。足し算で連結します
Str2 = 'ABC'#13#10'DEF'; // (2) の方法。文字列と上記2,3で表現される文字の間に
Str3 = 'ABC'^!'DEF'; // 空白など何も書かないと連結されます
Object Pascal でシングルクォートを記述する方法
- 文字コードを使う
- '' を使う
- '''' を使う
const
SQ1 = #39; // (1) の方法。コードで指定します
SQ2 = 'It''s' // (2) の方法。文字列中(文頭・文尾はNG)の場合は '' でシングルクォートを表します
SQ3 = ''''; // (3) の方法。一個だけ指定するときなど。上記の文字が無い版
ちなみに
改行については System.pas に sLineBreak として宣言されています。
中身は Platform 依存です(Windows: #13#10, POSIX: #10)。
他にもパスの区切り文字やファイル名に使えない文字の集合などは TPath から取れたりします。
他にも色々定義済みのモノがあるので、ライブラリのソースを読むといいと思います。
まとめ
古の Pascal の書き方でもちゃんとコンパイル通るのすごい。