HyperCard tribute
チャンクについて
チャンクとはデータを構成する単位のことです。データ間の区切り方の違いにより、いくつかの種類があります。 これらの、識別子を活用することで、いろいろな形式のデータから必要なデータを取り出すことが可能となります。 HyperCardでデータを持とうと思った場合、変数を用いるか、フィールドを用いるかのどちらかになります。データの数が少数であれば、データの数だけ変数を用意することで対処することができますが、データの数が多ければ問題が発生します。大量の変数を用意したとすれば、管理が難しくなりデータの変更がしづらくなります。また、フィールドを用いたとすれば、HyperCardのスピード低下につながります。 そのような場合に、データを一つでまとめ、チャンクごとにデータを取り出すのです。
まず最初に、変数を用いてみます。それぞれの変数名はa1、a2、a3、a4、a5とします。 最初にデータの代入をしなければなりません。データの代入には以下のようなスクリプトが必要です。
次に、計算をします。
計算をするには、計算の数だけのスクリプトを書くことが必要となります。例えば、ここで追加の計算が必要となったとしたら、その追加の数だけスクリプトを書かなくてはならないのです。 次に item チャンクを用いてみます。itemは、コンマごとにデータを区切ります。 データは変数dataに代入します。 1 put 5,7,1,12,6 into data 今回は item を使って変数dataから取り出して計算してみます。 2 put item 1 of data+item 3 of data into result1 3 put item 4 of data+item 5 of data into result2 このように item を用いることで、データの管理が簡単になります。 次に識別子の説明をします。 テキストをアイテム単位で指し示すときに用います。 アイテムは、半角のコンマ「,」で区切ったものです。区切り文字を変更することも可能です。 例:変数dataの3番目のアイテムを取り出す put item 3 of data 例:変数dataの最後のアイテムを取り出す put last item of data 例:区切り文字をスペースに変更 set the itemDlimiter to space テキストをキャラクタ単位で指し示すときに用います。characterは、charと略すことが可能です。 キャラクタは、半角・全角に関わらず1文字を1charで数えます。 例:変数dataの3つ目のキャラクタを取り出す put char 3 of data 例:変数dataの最後のキャラクタを取り出す put last char of data テキストをライン単位で指し示すときに用います。 ラインは、見かけの折り返しではなく、実際のreturnコードで区切られます。 例:変数dataの4行目のデータを取り出す put line 4 of data 例:変数dataの最後のラインデータを取り出す put last line of data テキストをワードの単位で指し示すときに用います。 ワードの定義は4つあります。 ・全角と半角の境 ・半角ダブルクォーテーション ・スペース ・リターンコード 変数dataに以下のようなデータが入っているときのデータ区切りについて
1番目のword:ハイパー(スペース区切り) 2番目のword:カードは(ダブルクォーテーション区切り) 3番目のword:"very easy"(ダブルクォーテーションによる区切りが優先される) 4番目のword:Apple(スペース区切り) 5番目のword:Macintosh 6番目のword:の言語です 例:変数dataの1番目のワードを取り出す put word 1 of data 例:変数dataの最後のワードを取り出す put last word of data |