AppleScript的字典怎麼看怎麼用

2022-02-19 22:15:13 字數 2607 閱讀 7330

以iterm為例

初看它的字典大概長這樣:

1、方法包

它有兩個suite也就是兩個方法包

第乙個看名字就知道是乙個標準包,這個系統自動加的,給每乙個應用程式會自動生成乙個這樣的方法包,裡面的方法很多是一樣的,但是有的細節有區別:

第二個方法包就是軟體自己提供的方法包了

這裡上面淺藍色的是方法,紫色的是類,類可以有自己的方法,下面分別講

2、方法

其實這裡的方法有一點訊息的意思,跟oc有點像

第一行先是方法名split vertically(用豎直線切割)

然後v的意思就是動詞,類似方法的意思

然後接著是對這個方法的描述

第二行開始是這個訊息的傳送格式

先是主訊息名

後邊接乙個specifier型別的引數(有的時候不用傳引數)

這個specifier型別是什麼在哪兒都找不到,自己領悟並且看其他各種的注釋(對,對同乙個型別的描述注釋都不太一樣,像這裡這個描述,根本就風馬牛不相及)並且搜尋各種別人的插邊球回答並且翻看了一些別人寫的as**,最後實踐試出來,這個型別的意思是:window tab session一類的東西

之後是描述

第三行以及之後就是次訊息名

用中括號括起的表示可選引數,沒用的就是必選

text型別就是string型別

最後一行乙個箭頭加後邊,是返回值型別的意思

3、類

n表示是名詞,是類

然後第一部分是包含和被包含關係 elements,類似類圖,告訴你持有和被持有的關係

第二部分是方法properties,這塊非常重要,是你要使用的

這個方法比上面的方法形式要簡單,不需要傳引數,括號裡就是返回值型別,後邊接著描述

方法呼叫的方式是:[返回值] = [方法] of [類]

說這個類重要是因為在我實際操作中發現它非常重要

它是程式開啟(也就是被tell之後就自動生成的類),然後很多方法都需要傳入這個引數,可以說他是一切操作的開始

通過這個類的方法能獲取到一些重要的系統常量:當前應用的視窗、可見性、大小等等資料

在使用iterm的時候我最覺得重要的是就是返回當前的視窗了,從視窗中才能拿session,拿到session才能幹後邊所有的活

5、舉例

以一段對iterm操作的**為例具體解釋一下使用時的技巧

這段**實現的效果是:按照我的需求開啟我的iterm,切分視窗,使用不同的配置檔案,分別進入某個路徑

在講之前先科普一下自己在探索過程中發現的這個iterm裡的幾個概念

tab,這裡沒有出現使用,指的是乙個個tab頁面

session,是會話的意思,這裡值的是乙個個小視窗,或者感覺是乙個個小程序

然後下一段是兩句話

第二個句是給這個session的視窗中執行命令

注意,這個session是預設建立的,我們都控制不了

下一段還是兩句話

先是括號內,這句號本身就是乙個方法呼叫,在session1上切分乙個新的視窗,並且使用teacher的配置檔案來配置,這句話會返回新建立的session,然後把這個session記錄下來並且賦值

第二句就是跟上面一樣了

非常值得一提的是,第一句括號裡的方法本來是還有乙個command引數的,使用這個引數的話兩句話可以合併為一句話(**中第二行),但是非常遺憾的是,它會莫名奇妙報錯,所以只能放棄這種寫法

後邊幾段就都是一樣了

總結一些常用知識(非常主觀):

資料非常少,可以看到用的人非常少,需要自己探索

居然有兩本書的資料可以方便下到,但是這兩本書裡能給的幫助真是不多

用過的人都說不好,確實是正在沒落的語言

會莫名奇妙崩潰,探索能曲線救國的方法

執行緒迷之不安全,最好寫得執行緒健壯

總結一些習慣用法:

獲取當前視窗

呼叫物件的屬性方法

賦值方法

可以使用小括號進行優先執行

判斷某個應用是否開啟

if else

延時:delay 1(延時1s後繼續執行)

列印結果:say 「string」 (直接發聲進行列印)

我的新玩具 AppleScript 一

mac電腦的人有福了 非常簡潔的視窗 極簡主義者應該會喜歡 直接往裡面寫 就行了,而且生成可執行程式超簡單。下面是一些最基礎的部分 1.定義變數用set to.獲取變數用get set thesecondnumber to 2 get thesecondnumber 2.注釋用 這裡是注釋 3.用t...

C 中的ConTextMenuStrip怎麼用

1 先新增乙個contextmenustrip 控制項到form上 2 設定目標控制項 如窗體 文字框等 的contextmenustrip屬性,指向你剛才新增的contextmenustrip 控制項。這樣就實現了兩者的關聯。3 動態將一些選單項新增到 contextmenustrip 控制項中,...

字典的特性 字典的遍歷

字典dict dictionary map 以鍵值對存在 key value 字典是另一種可變容器模型,且可儲存任意型別物件。字典的每個鍵值 key value 對用冒號 分割,每個鍵值對之間用逗號 分割,整個字典包括在花括號 中 定義 弱資料型別語言 d 全域性函式dict dd dict dd ...