Previous: , Up: 文字列型   [Contents][Index]


2.4.8.4 文字列内のテキストプロパティ

文字列にはその文字自身に加えて、文字のプロパティも保持することができます。これにより特別なことをしなくても、文字列とバッファーとの間でテキストをコピーするプログラムが、テキストプロパティをコピーすることが可能になります。テキストプロパティが何を意味するかについてはテキストのプロパティを参照してください。テキストプロパティをもつ文字列は、特別な入力構文とプリント構文を使用します。

#("characters" property-data...)

ここでproperty-dataは,3個でグループ化された0個以上の要素から構成されます:

beg end plist

要素begおよびendは整数で、文字列内のインデックスの範囲を指定します。plistはその範囲にたいするプロパティリストです。たとえば、

#("foo bar" 0 3 (face bold) 3 4 nil 4 7 (face italic))

これはテキスト内容が‘foo bar’で、最初の3文字はfaceプロパティに値boldをもち、最後の3文字はfaceプロパティに値italicをもつことを表します(4番目の文字にはテキストプロパティはないので、プロパティリストはnil。実際には範囲の中の指定されていない文字はデフォルトではプロパティをもたないので、範囲のプロパティリストをnilと指定する必要ない)。