Next: , Previous: , Up: Strings and Characters   [Contents][Index]


6.8.2 String representations

Forth は通常、 文字列(strings)をスタック上のセルのペア c-addr u として表します。 u はバイト単位の文字列の長さ(別名 文字数)、 c-addr は文字列の最初のバイトのアドレスです。 コード・ポイントは、 文字列内の複数の文字(char)のシーケンスによって表される場合があることに注意してください(また、 ユニコード の「抽象文字」(abstract character)は複数のコード・ポイントで構成される場合があります)。 See String words

もう一つの文字列表現が、 $ を含む文字列ライブラリ・ワード群で使用されます。 それらは、 変数などに配置できるセルサイズの文字列ハンドル(cell-sized string handle)のアドレスを通じてスタック上の文字列を表します。 See $tring words

旧来からの文字列表現は「カウンタ付き文字列」(counted strings)で、 スタック上では c-addr と表現されます。 c-addr によって指定される char には、 文字列の文字数 n が含まれており、 その文字列はメモリ内の後続の n char アドレスを占有します。 カウントされる文字列の長さは 255 バイトに制限されます。 カウンタ付き文字列は、 必要なスタック項目が 1 つだけであるため魅力的に見えるかもしれませんが、 この制限があるため、 特にワードの入力パラメータとしては使用しないことをお勧めします。 See Counted string words