見出し画像

AppleScript ListとRecordの違い

Listは、とあるデータをグルーピングしたものです。
↓こんな具合です。

set aList to {"watarie", 165.5, 60} 

Recordはというと、List内の各データにタイトルがついたようなものです。
↓こんな具合です。

set aRecord to {theName:"watarie", height:165.5, weight:60} 


Listは、こんな時に使うと良いかと思います。
・すべてが同じ種類
・もしくは種類が少ない、シンプル、あ~とりあえずグループで

Recordは、種類が複数ありコードを明瞭化させたい時に使っています。
例えば上の2種類のコードは私をデータにしたものですが・・・
複数のヒトのデータを扱う時、Listでは下のようになります。

set theLists to {{"watarie", 165.5, 60} ,{"murata", 170, 63}}

ややこしいので一人追加にとどめます。
この時、一人目の名前が欲しい時↓

item 1 of item 1 of theLists


さて、ここでRecordで用意しましょう。

set theRecordLists to {{theName:"watarie", height:165.5, weight:60} ,{theName:"murata", height:170, weight:63}}

この時の、一人目の名前がほしい時↓

theName of item 1 of theRecordList


この差、お分かりになりますでしょうか。
コードが正に「一人目の名前」と言っているのです。Listでは分かりませんね。(副作用としてitemで呼べません)が、複数種のデータのリストを扱う際に非常にわかり易く美しいコードになります。

応用して、まとめて取り出したいときは下のコードのようになります。

{theName, height, weight} of item 1 of theRecordLists
> {"watarie", 165.5, 60}

是非、この2つを使い分けて解りやすいコードでよりパワフルなスクリプトを作っていきましょう!

この記事が気に入ったらサポートをしてみませんか?