AppleScript で対照表を使ってみます。
対照表とは、「"2009年" ←→ "平成21年"」や「"2009年" ←→ "己丑"」、「"1999年" ←→ "10"」、「"ロンドン" ←→ "0", "東京" ←→ "+9" 」などの対応関係を表を使って示すものです。早見表ともいいますね。
次の例では、大文字のアルファベットとそのアルファベットを辞書順に2だけずらした文字との対応関係をチェックします。
オリジナルのリストデータ(orgList)と、それを辞書順に2ずらしたデータ(cnvList)を用意して、それぞれ同じ位置にあるデータ同士を対照させています。
orgList: {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
cnvList: {"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B"}
変換したい"A"という文字を変数orgTxtに格納し、
リストorgList({"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"})を as text で変換した"ABCDEFGHIJKLMNOPQRSTUVWXYZ"という文字列の何番目にorgTXT("A")があるかを、offset in X of Y を使って確認し、何番目かを変数 m に格納しています。
次に、cnvList({"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B"})の m番目の文字を 変数 cnvTxtに格納し、利用します。
結果として、"A" が "C" に変換されました。
対照表とは、「"2009年" ←→ "平成21年"」や「"2009年" ←→ "己丑"」、「"1999年" ←→ "10"」、「"ロンドン" ←→ "0", "東京" ←→ "+9" 」などの対応関係を表を使って示すものです。早見表ともいいますね。
次の例では、大文字のアルファベットとそのアルファベットを辞書順に2だけずらした文字との対応関係をチェックします。
オリジナルのリストデータ(orgList)と、それを辞書順に2ずらしたデータ(cnvList)を用意して、それぞれ同じ位置にあるデータ同士を対照させています。
orgList: {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
cnvList: {"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B"}
変換したい"A"という文字を変数orgTxtに格納し、
リストorgList({"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"})を as text で変換した"ABCDEFGHIJKLMNOPQRSTUVWXYZ"という文字列の何番目にorgTXT("A")があるかを、offset in X of Y を使って確認し、何番目かを変数 m に格納しています。
次に、cnvList({"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B"})の m番目の文字を 変数 cnvTxtに格納し、利用します。
結果として、"A" が "C" に変換されました。
set orgList to {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
set cnvList to {"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B"}
set orgTxt to "A"
set cnvTxt to ""
set m to offset in (orgList as text) of (orgTxt)
set cnvTxt to cnvTxt & item m of cnvList
--Leopard, 10.5.6