捷徑邏輯:選單、詢問輸入、如果(條件判斷)
智 iLab學校智慧長AI × Apple・Apple Intelligence・捷徑自動化・依官方資訊整理開始前
櫃台最常遇到一種客人:自己照網路影片做了一支捷徑,每次用都要手動進去改裡面的數字或文字,改到後來嫌麻煩就不用了。我通常會跟他說,捷徑不該是這樣用的。一支好的捷徑應該會「問你問題」,然後根據你的回答自己決定要做什麼——這件事的關鍵,就在三個動作上。
把這三個搞懂,捷徑就從「只會從頭跑到尾的直線」變成「會分叉、會判斷」的東西。它們分別是選單、詢問輸入、如果。名字聽起來都很普通,但組起來威力差很多。
先分清楚「選單」跟「詢問輸入」不是同一回事
這兩個最容易混。我用最白話的方式分:
選單(從選單選擇)是給你「按鈕」點的,最多放 12 個選項,適合那種路線固定、不需要打字的情境——例如「今天要記帳、設鬧鐘、還是寫備忘」,三顆按鈕點一下就好。
詢問輸入(Ask for Input)則是會跳出鍵盤要你「打字」,文字、數字、日期、網址都能收,適合那種內容是臨時的、沒辦法事先列成選項的狀況。
至於「如果」,使用者其實看不到它。它躲在後台默默比對某個變數的值,然後決定流程往哪邊走。三個可以疊著用,也能各自單獨用。下面一個一個拆。
選單:讓捷徑長出分叉
加動作的路徑很單純。右上角點+開新捷徑,搜尋列打「選單」,找到「從選單選擇」點進去。預設它會給你一行提示文字加兩個分支(「第一個項目」「第二個項目」)。
點「選單」那兩個字可以改成你的提示語,像是「選擇今天要做什麼」;點每個分支底下的灰字就能重新命名。想多加幾條路,點選單最下面的「新增項目」,加到 12 個為止。
這裡有個邏輯一定要記住:每個分支底下、到下一個 Case 之前的那些動作,只有在使用者點了那一顆按鈕時才會跑;而排在最後「結束選單(End of Menu)」之後的動作,不管你點哪一條都會執行。門市教學時我會用手比一下螢幕,告訴客人「這段是這條路專屬的,這段是大家共用的」,他們馬上就懂。
舉個我實際示範過的例子——一支三路分流的提醒捷徑:
動作 1:從選單選擇
提示:「要設定哪種提醒?」
─ Case:工作
動作 2:詢問輸入(文字)「輸入工作事項」
動作 3:新增提醒事項,清單「工作」,內容 = 詢問輸入
─ Case:個人
動作 4:詢問輸入(文字)「輸入個人事項」
動作 5:新增提醒事項,清單「個人」,內容 = 詢問輸入
─ Case:快速 5 分鐘
動作 6:等待 5 分鐘
動作 7:顯示通知「5 分鐘到!」
動作 8:(End of Menu)顯示通知「已完成設定」
點「工作」就只跑工作那段、點「快速 5 分鐘」就只等五分鐘,最後那句通知三條路都會看到。
詢問輸入:收文字、數字、日期都行
搜尋列打「詢問」,找到「詢問輸入」加進來。重點在「輸入類型」這個欄位,點開可以選文字、數字、URL、日期、日期與時間、時間。下面還有個「預設答案」,填了之後使用者直接按繼續就好,不用每次都打。
它執行完的輸出叫「提供的輸入」,後面任何動作都能直接引用。
這裡有個門市常被問的細節:輸入類型選「數字」時,它吐出來的是真正可以算數的數值,不是字串,可以直接接「計算」做四則運算、取餘數,或接「格式化數字」指定小數位後轉成文字。
動作 1:詢問輸入(數字)「你有幾份文件要列印?」
動作 2:計算 [提供的輸入] × 2 (雙面預估頁數)
動作 3:顯示警告 「大約要 [計算結果] 面」
但選「文字」時就不一樣,輸出永遠是字串。如果你打算拿它去跟「如果」做數字大小比較,雖然捷徑通常會自動幫你把字串轉成數字,但這個行為我不會去依賴——一開始輸入類型就選數字,省得後面出怪事。
如果:捷徑真正會「思考」的地方
搜尋「如果」加進來,畫面會出現三塊:If(條件成立)、Otherwise(否則)、End If(結束)。
設定方式是:點「輸入」左邊那個藍色方塊,選你要比對的變數;再點中間的下拉選單挑條件——有任何值、沒有值、等於、不等於、包含、不包含、開頭是、結尾是、大於、大於等於、小於、小於等於,選項其實蠻齊全;最後在右邊「輸入…」填進要比的值。
那條件要比的變數從哪來?常見有這幾個出處:
| 來源 | 取得方式 |
|---|---|
| 使用者剛輸入的文字/數字 | 引用「詢問輸入」的 Magic Variable「提供的輸入」 |
| 剪貼簿內容 | 加入「取得剪貼簿」,引用其輸出 |
| 裝置狀態 | 加入「取得目前位置」「取得電池電量」等動作 |
| 日期時間比較 | 加入「目前日期」後,條件選「大於」某個日期 |
| 先前設定的變數 | 加入「取得變數」,引用變數名稱 |
三個動作湊在一起:一支「智慧文字處理」捷徑
把前面三樣兜起來才看得出真正的用處。這支捷徑讓使用者先選文字從哪來、再決定要不要打字,最後依字數長短給不同反應:
動作 1:從選單選擇
提示:「要處理哪種文字?」
─ Case:剪貼簿內容
動作 2:取得剪貼簿
動作 3:設定變數「來源文字」為 [剪貼簿]
─ Case:手動輸入
動作 4:詢問輸入(文字)「貼上或輸入文字」
動作 5:設定變數「來源文字」為 [提供的輸入]
動作 6:(End of Menu)
動作 7:計算字數 → 對「來源文字」使用「計算字數」(Word Count)
動作 8:設定變數「字數」為 [字數結果]
動作 9:如果 [字數] 大於等於 300
動作 10:顯示警告「文字較長(300 字以上),建議先摘要再使用。」
Otherwise:
動作 11:顯示警告「文字長度適中,直接使用沒問題。」
動作 12:End If
動作 13:拷貝至剪貼簿 [來源文字] (不管哪條路都執行)
動作 14:顯示通知「已複製到剪貼簿!」
選單分流文字從哪來、詢問輸入補上手動內容、如果負責判斷長短——三個動作各司其職,這支捷徑就活了起來。
兩個門市最常被問倒的狀況
設了「如果」,結果兩條路都沒跑、捷徑直接跳到 End If? 多半是因為「如果」比對的變數是空的(沒有值)。當條件成立和否則裡都沒放動作時,捷徑不會報錯,會默默把整個 If 略過。除錯的方法很土但有效:在「如果」上面先加一個「顯示警告」把變數值印出來,確認到底有沒有值,查完再把這個除錯動作刪掉。另外,比對「包含」某段字時要留意大小寫,先用「大寫/小寫」把變數標準化再比,會少很多莫名其妙的失敗。
「從選單選擇」卡在 12 個選項上限,不夠用怎麼辦? 兩條路。一是做分層選單——第一層選大類,每個 Case 裡再塞第二個「從選單選擇」,這樣能撐到 12×12=144 個最終選項。二是乾脆不用選單,改用「詢問輸入」收文字,再用一串「如果 / Otherwise」去接,缺點是使用者得記住選項名稱,比較適合代碼短又固定的情境(像輸入 A、B、C)。
捷徑這東西,看影片照抄做得出來,但要真的「合身」還是得有人坐在旁邊陪你拆一次邏輯。如果你想把這幾個動作套到自己每天在重複的流程上,又不確定哪台 iPhone 跑起來最順、或單純想找人手把手帶過一輪,歡迎到 /choose 看看適合你的機型,或直接到店裡,我們把你那支半成品的捷徑攤開來一起調。