メインコンテンツまでスキップ

チャンクの構文

単一のチャンク

文法:
chunk number of expression

ノート

注:この文法記述と次の文法記述において、_チャンク_は任意のチャンクタイプ:文字(またはその省略形、char)、単語、行、アイテム、テキストアイテム、リストアイテムを表すために使用されます。同様に、_chunks_はこれらの項目の複数形を表します。_番号_は正または負の数値に評価される要素で、_表現_はチャンクが参照するソースまたは宛先の値です。"of"が表示されている場所では、“of”または“in”を、その時に自然に感じる方を使用することができます。

全てのタイプのチャンクのためのチャンク表現は、いくつかの異なる方法で表現することができます。単一のチャンク要素を記述することができます:

put item 17 of scores into quiz3
put word 4 of "Mary had a little lamb" --> "little"

マイナスの数値を使って、元の終端から逆に数えることもでき、-1は最後のチャンク要素を、-2は最後から2番目を、というように指定します:

get item -2 of "apple,banana,pear,orange" --> "pear"

序数のチャンク

文法:
{the} ordinal chunk of expression

チャンクの要素は、序数firstsecond、...、millionth、または1st2nd、...、1000000th)によっても参照されることがあります。

get the third item of [9,12,13,42] -- 13
put it -- 13

{the} ordinal chunk of expression

get the third-to-last item of [9,12,13,42]
put it -- 12

Last, Penultimate, Middle, Any 特別な序数

数値の序数の他にも、使用できる「特別な序数」がいくつかあります。

  • Anyは指定されたタイプのすべての要素の中からランダムに要素を選択します。

  • Middleはそのタイプのチャンク要素の総数に基づいて、中央に最も近い要素を選択します。

  • Lastは最後のチャンク要素を指定します(これは-1を指定するのと同じです)。

  • Penultimateは最後から二番目のチャンク要素を指定します(-2を指定するのと同等です)。

  • 数値の序数に加えて、lastpenultimatemiddle(またはmid)、およびanyの4つの“特別な序数”を使用することができます。

  • chunks firstNumberOrOrdinal to lastNumberOrOrdinal of expression

  • {the} last number chunks of expression

例:

put any item of "cow,ant,moose,goat,donkey,elephant"

例:

get the middle character of "serendipity" --> "d"
put it --> "d"

例:

put the penultimate word of "Peace is its own reward." --> "own"

例:

put the last line of gettysburgAddress into finalParagraph

チャンクの範囲

md 構文:
chunks firstNumberOrOrdinal to lastNumberOrOrdinal of expression
chunks range of expression {the} first number chunks of expression {the} last number chunks of expression

チャンク表現はチャンク要素の範囲を指すことができます。チャンクの範囲は、指定された開始要素と終了要素を含み、その間のすべての要素を含みます。

例:

put characters 3 to 5 of "dragon" --> "ago"

例:

put words 1 to 2 of "Alas, poor Yorick!" --> "Alas, poor"

例:

put items middle to last of [1,2,3,4,5,6,7] --> [4,5,6,7]

例:

put the second to penultimate items of [1,2,3,4,5,6] --> [2,3,4,5]

例:

put items -3 to -1 of [1,2,3,4,5,6] --> [4,5,6]

範囲値もまた、チャンクの範囲にアクセスするために使用できます。

例:

put chars 4..6 of "incredible" --> "red"

例:

set fruitRange to 7..10
put chars fruitRange of "now appearing" --> "pear"

値の始めまたは終わりの範囲については、"最初のn"または"最後のn"のチャンク要素を指定することもできます。

例:

put the last three items of [1,2,3,4,5,6] --> [4,5,6]

例:

get the first 4 characters of "abracadabra" --> "abra"
put it --> "abra"

複数のチャンク(チャンクのリスト)

文法:
chunks indexlist of expression

順序のチャンク番号のリストを指定することで、ソース値の複数の別々のチャンクにリストとしてアクセスすることができます。

例:

put items [1,3,5,7] of scores into oddResults

例:

put words [4,1,2,-1] of "Mary had a little lamb" --> [little,Mary,had,lamb]

複数のチャンクにアクセスする結果は常にリストです。負の数値や特別な序数(middle, anyなど)も使用できます。

例:

get items [-2,"middle"] of "apple,banana,pear,orange,peach" --> [orange,pear]
put it --> [orange,pear]