AppleScript 入門

前言

AS 是可以幫你在 mac 上實現自動化的有效工具,他經過類英語的語法,以及簡單的編程功能,幫助你擺脫機械化的勞動。html

AppleScript 包括以下三部分:編程

  • AppleScript 語言
  • AppleScript 腳本文件
  • AppleScript 腳本解釋器

工具

在 mac 中自帶 AutomatorAppleScript Editor 都可以編寫腳本。其中 Automator 是可視化工具,但功能更基礎(彷佛連循環都沒有)。app

一些 AppleScript 的腳本樣例

Hello World
tell current application
    display dialog "Hello World."
end tell
Hello *
tell current application
    set str to "xp"
    display dialog "Hello " & str
end tell
Empty the trash
tell application "Finder"
    empty the trash
    beep
end tell
Say Hello
say "How are you?" using "Zarvox"
say "Find, and you?" using "Victoria"
say "Me, too." using "Zarvox"
beep

語法簡介

AS 是面向對象的腳本語言,有三個重要的OO術語:對象(Object)、屬性(Property)、命令(Command)ide

命令又稱方法(Method),這些都是蘋果官方《AppleScript Language Guide》的說法。工具

標識符(Identifier)

AS 採用 Unicode 編碼,不區分大小寫。ui

標識符必須以英文字母開頭,可以使用英文字母、數字和下劃線(_)。編碼

額外規則:若以|開頭並結尾,可以使用任意 Unicode 字符做爲標識符,但注意標識符自己不含有|不推薦使用這種寫法。code

綜上所述,合法的標識符如:abc, a0, |a&b|, |中文|htm

關鍵字(Keyword)

語言保留使用的標識符稱爲關鍵字,請注意 AS 中存在由多個詞組成的關鍵字對象

變量
set var to value

數據類型

  • Boolean: true, false
  • Number: 1, 1.0, -1
    整型和實數型都屬於數字型。
  • Text: "string"
  • String
    這是舊版 AS2.0 的數據類型,同 Text,用於向下兼容。
  • Date: date "2009-8-30 12:31:34"
    此格式由 系統偏好設置-語言與文本 決定
  • Constant: yes, no, ask
  • List: { 1, 2, "str", { 4, 5 } }
  • Record: { key1: value, key2: value }
    經過 key of {key: value} 訪問其值

經過 class of 關鍵字來肯定數據類型:

-- 這是註釋
set str to "string"
class of str -- 返回 "text"

使用 as 關鍵字強制類型轉換:

"1.99" as real    -- 1.99 (real)
"1.99" as integer -- 2 (integer) 精度丟失
"1" as real       -- 1.0  (real)

"text" as list    -- { "text" }

{ a: 1, b: 2 } as list -- { 1, 2 } 精度丟失

不是全部的數據都可以強制類型轉換,不要糾結於此,作有意義的事。

分支語句
if condition then
    do sth.
end if
循環語句
repeat with i from 1 to 100
    do sth.
end repeat

更多

更多語法請參閱 AppleScript Editor 中提供的 字典。或者閱讀 AppleScript 簡明基礎教程

相關文章
相關標籤/搜索