2014-10-17 91 views
3

我最近發現我的一些蘋果腳本在最近的計算機上運行它們的錯誤。問題來自蘋果電腦提出的問題,並試圖得到兩個答案:文本答案和返回的按鈕。基本上,這是一種腳本:蘋果腳本更改:複製結果列表是不一樣

display dialog "This is a question" default answer "the text answer" buttons {"button 1", "button2", "button 3"} 
copy the result as list to {"the_text", "the_button"} 

的「複製的結果列表是我發現的方法來保存答案的唯一途徑,但現在的問題是: 在10.7,AppleScript的返回結果這命令:返回文本,返回按鈕,並且在10.9中,applescript按照相反的順序返回結果,首先是按鈕,然後是文本 然後使用答案是不可能的你知道一種方法可以保存答案和讓它在10.7上10.9工作

回答

2

嘗試:?

set {text returned:the_text, button returned:the_button} to display dialog "This is a question" default answer "the text answer" buttons {"button 1", "button2", "button 3"} 

編輯

通過強制結果到列表中,您不能再識別返回的按鈕和文本返回的屬性。

比較:

display dialog "This is a question" default answer "the text answer" buttons {"button 1", "button2", "button 3"} 

與此:

display dialog "This is a question" default answer "the text answer" buttons {"button 1", "button2", "button 3"} 
return the result as list 
+0

它接縫做工精細,但它並沒有聽起來自然寫信給我:) – 2014-10-17 16:06:45

0

這裏有一個稍微不同的版本adayzone的回答。它更像Python的元組拆包。

一行代碼:

set {the_text, the_button} to {text returned, button returned} of (display dialog "This is a question" default answer "the text answer" buttons {"button 1", "button2", "button 3"}) 

使用result中介變量:

display dialog "This is a question" default answer "the text answer" buttons {"button 1", "button2", "button 3"} 
set {the_text, the_button} to {text returned, button returned} of the result