2014-02-21 33 views
0

這是一個簡單的腳本,應該返回「任務類型」。當我運行腳本,然後要求它返回變量時,它將返回「任務類型」。但是當我運行腳本並詢問變量是否包含「任務」時,它將返回「false」。我究竟做錯了什麼?Applescript變量返回正確的值,但評估錯誤

腳本

tell application "TaskPaper" 
    tell front document 
     set WhatType to get entry type of selected entry 
    end tell 
end tell 

當隨後與

TaskPaper 

返回 「任務型」。到現在爲止還挺好!

但與

WhatType contains "task" 

返回 「假」 緊隨其後。我很困惑這是如何可能的。

+1

「類型/ S」也有可能不是字符串 - 試試這樣說:「如果WhatType是任務類型...「 – 2014-02-21 17:52:04

+0

謝謝,@DigiMonk。你是對的。我接受了jweaks的答案,因爲這解決了我的問題,但我也很感謝你的澄清。 –

回答

1

請包括您的完整代碼,順便說一句,以獲得更好的幫助。 由於您將字符串「任務」與任務類型(不是字符串類)進行比較,因此失敗。 您正在比較不同類型的項目。

您可以比較:

if WhatType is task type then 

,或者你可以試着將其轉換爲字符串:

if (WhatType as string) contains "task" then 
+0

謝謝,@jweaks。第一個沒有工作(AppleScript告訴我「談話類型」沒有定義)。但第二個工作正常。謝謝。 –

+0

很高興它的工作。第一個(檢查類型)將起作用,只需要正確的語法。也許:如果WhatType是入口類型的任務,那麼......或者如果WhatType是任務,那麼......或者如果WhatType的入口類型是任務,那麼......等等。檢查這樣的東西,放入一個:get屬性來看看語法。 – jweaks

+0

不錯!謝謝。我會盡量測試它並最終報告。 –