チャンクタイプ
チャンク表現は、次のすべてのチャンクタイプで作業することを可能にします:
タイプ | 定義 |
---|---|
文字 | テキスト内の個々の文字 |
単語 | テキスト内の任意の量の空白(スペース、タブ、リターン)で区切られた単語 |
行 | いくつかの標準的な行末(CR、LF、CRLFなど)で区切られた段落 |
テキスト項目 | カンマで区切られたテキストの部分 |
テキスト項目 | リスト内の個々のアイテム |
バイト | バイナリデータ内のバイト |
出現 | 定義されたパターンのテキスト一致 |
一致 | 定義されたパターンとそのキャプチャグループのテキスト一致とテキスト範囲 |
さらに、テキストアイテム、行、単語を識別するために使用されるカスタムデリミタを指定することができ、さらに高い機能性を提供します。これら3つのテキストチャンクタイプはそれぞれ独特のタイプのデリミタを持ち、テキストアイテムは単一のテキスト文字列で区切られ、行はテキスト文字列のリストで区切られ、単語は文字セットからの任意の数と組み合わせの文字で区切られます。
文字
最も単純なタイプのチャンクはキャラクターチャンクです。キャラクターはテキストの一文字で、表示文字と非表示文字(タブ、キャリッジリターン、ラインフィード文字などのコントロール文字を含む)の両方を含みます。character
はchar
と略すことができます。
put "The quick brown fox" into animal
put character 1 of animal--> T
put the last char of animal --> x
put chars 3 to 7 of animal --> e qui
単語
単一の単語は、空白文字を含まない文字列、または引用符で囲まれた文字列として定義されます。単語の範囲には、指定された最初の単語から最後の単語までのすべての文字、および間にあるすべての単語と空白が含まれます。空白文字は、スペース、タブ、およびリターン(改行)です。
put "Sometimes you feel like a nut; sometimes you don’t." into slogan
put the second word of slogan --> you
put word 6 of slogan --> nut;
put words 1 to 3 of slogan --> Sometimes you feel
引用符で囲まれたフレーズは、通常は引用符を含む単一の単語として扱われます:
put <<Mary said "Good day" to John.>> into sentence
put the third word of sentence --> "Good day"
関連するローカルおよびグローバルプロパティ
SenseTalkは、チャンク内の単語を操作する際の側面を管理するために使用できるローカルおよびグローバルプロパティを含みます。単語を識別するために使用される文字セットは、the wordDelimiter
ローカルプロパティまたはthe defaultWordDelimiter
グローバルプロパティを設定することで、Space、Tab、およびReturn以外のものに変更することができます。引用符付き単語を識別するために使用される引用符文字(または単語引用が完全に無効化されるかどうか)は、the wordQuotes
ローカルプロパティまたはthe defaultWordQuotes
グローバルプロパティを使用して指定できます。
これらのローカルプロパティはチャンク表現のローカルおよびグローバルプロパティで定義されています:
the wordDelimiter, the defaultWordDelimiter
the wordQuotes, the defaultWordQuotes
行
行チャンク式を使用すると、対象テキスト内の1つ以上の行または段落を指定できます。行は初めて定義されるとき、標準的な行末文字の間の文字として定義されます。
put "line 1" & return & "line 2" & return & "line 3" into text
put the second line of text --> line 2
put line 6 of text --> ""
put lines 2 to 3 of text --> line 2 & return & line 3
--> line 2
--> line 3
関連するローカルおよびグローバルプロパティ
SenseTalkは、チャンク内の行を操作する側面を管理するために使用できる2つのプロパティを含みます。行として定義するための行末(デリミタ文字列)のセ ットは、the lineDelimiter
ローカルプロパティを設定することでデフォルト以外のものに変更することができます。the lineDelimiter
を空に設定すると、デフォルトリストに戻ります。
the defaultLineDelimiter
グローバルプロパティはデフォルトの行デリミタセットを定義します。このプロパティは初めて設定されたときに、CRLF、Return、CarriageReturn、LineSeparator、ParagraphSeparatorに設定されます。
これらのプロパティはチャンク表現のローカルおよびグローバルプロパティで定義されています:
the lineDelimiter, the defaultLineDelimiter
テキスト項目
テキスト内の項目は通常、コンマ間のテキスト部分として定義されます:
put "A man, a plan, a canal. Panama!" into palindrome
put item 2 of palindrome --> " a plan"
区切り(デリミタ)文字は、the itemDelimiter
プロパティを設定することでコンマ以外の何かに指定できます。the itemDelimiter
のデフォルト値は、the defaultItemDelimiter
グローバルプロパティによって決まります。これら2つのプロパティはチャンク表現のローカルおよびグローバルプロパティで定義されています:
the itemDelimiter, the defaultItemDelimiter
リスト項目
items
という単語は、リスト内の要素を指すこともあります。
put ["red", "green", "blue"] into colors
put item 2 of colors -- green