任意のリスト(配列)変数の次元を取得するAppleScriptです。
手軽に多次元配列を宣言してアクセスできるAppleScriptですが、作成した配列変数の次元を確認する方法は用意されていません。
そこで、指定リスト(配列)の次元数を取得するものを書いてみました。
日常的に2次元配列とか3次元配列は使いますが、4次元配列まではあまり使ったことがありません。実用上は3次元配列ぐらいでしょうか。
たまに2次元配列が使えない言語とか、実用上は2次元配列ぐらいまでしか直接宣言できない言語があって驚かされます。
AppleScript名:指定リストの次元を取得する v3 |
use AppleScript version "2.4" use scripting additions set aList to {{1, 2, 3}, {4, 5, 6}} –2D List set aDim to getDimension given tArray:aList –> 2 set bList to {{{1, 2}, {2, 3}, {3, 4}}, {{1, 2}, {2, 3}, {3, 4}}, {{1, 2}, {2, 3}, {3, 4}}} –3D List set bDim to getDimension given tArray:bList –> 3 set cList to {1, 2, 3, 4, 5, 6} –1D List set cDim to getDimension given tArray:cList –> 1 set dList to {{{{1, 2}, {2, 3}}, {{1, 2}, {2, 3}}, {{1, 2}, {2, 3}}}} –4D List set dDim to getDimension given tArray:dList –> 4 –指定Listの次元を再帰で取得する on getDimension given tArray:aList as list : {}, curDim:aNum as integer : 1 set anItem to contents of first item of aList set aClass to class of anItem if aClass = list then set aNum to aNum + 1 set aRes to getDimension given tArray:anItem, curDim:aNum else return aNum end if end getDimension |
More from my site
(Visited 53 times, 1 visits today)