ちょっとした16進数の計算を行いたいときに、AppleScriptのネイティブ機能にはそういうのはないので、別のものが持っている機能を利用することになります。
いろいろCocoa系の機能も探してみたものの、結局「shellのbcコマンドが手っ取り早くていいよね!」ということに。
ポケコンサークルの会誌のダンプリストをもとに、入力用のBASICのリストを自動作成するとき、アドレスを変更しなくては入力できないことが判明。このさい、アドレス計算を行うのに16進数の加算が必要でした。そのために作ってみたものです。
AppleScript名:16進数の計算.scpt |
— – Created by: Takaaki Naganoya – Created on: 2023/01/25 — – Copyright © 2023 Piyomaru Software, All Rights Reserved — use AppleScript version "2.4" — Yosemite (10.10) or later use framework "Foundation" use scripting additions set a to "8030" set b to "6000" set h1 to hexStrAdd(a, b) of me –> "E030" set h3 to hexStrSub(a, b) of me –> "2030" on hexStrAdd(aStr as string, bStr as string) set sStr to "echo \"ibase=10; obase=10; " & aStr & "+" & bStr & "\" | bc" set aRes to do shell script sStr return aRes as string end hexStrAdd on hexStrSub(aStr as string, bStr as string) set sStr to "echo \"ibase=10; obase=10; " & aStr & "-" & bStr & "\" | bc" set aRes to do shell script sStr return aRes as string end hexStrSub |