由於熟悉編程,我缺少用三元運算符分配變量的能力(即「如果某事爲真,則將該變量設置爲x
,否則將其設置爲y
」)。我在想這樣的事情:AppleScript是否具有條件(三元)運算符的等效項?
set my_string to (if a is 0 return "" else return " - substring")
這當然不起作用,我還沒有找到類似的東西。有沒有另一種方式來實現這個與蘋果?
由於熟悉編程,我缺少用三元運算符分配變量的能力(即「如果某事爲真,則將該變量設置爲x
,否則將其設置爲y
」)。我在想這樣的事情:AppleScript是否具有條件(三元)運算符的等效項?
set my_string to (if a is 0 return "" else return " - substring")
這當然不起作用,我還沒有找到類似的東西。有沒有另一種方式來實現這個與蘋果?
看起來的AppleScript不支持有條件的經營者,但你可以使用清單,用於此目的的兩個元素。當然,這不是一般很優雅:
set my_string to item (((a is 0) as integer) + 1) of {"", " - substring"}
還有另外一個選擇:你可以使用shell腳本
set b to (do shell script "test " & a & " -eq 0 && echo 'is 0' || echo 'is not 0'")
我怎能忘記? :)
在你的情況下,它會更簡單(因爲如果根本沒有回聲,將返回一個空字符串)。
set b to (do shell script "test " & a & " -eq 0 || echo '- substring'")
if a is 0 then
set my_string to ""
else
set my_string to " - substring"
end if
或
set a to 7
set my_string to my subTern(a)
on subTern(aLocalVar)
if aLocalVar is 0 then return ""
if aLocalVar is not 0 then return " - substring"
end subTern
對於它的價值,這個操作符的名稱是「條件操作符」。它恰好是**三元運算符,但它不是**三元運算符,因爲雖然它是目前唯一的三元運算符,但沒有任何東西阻止某人發明另一個三元運算符。 – ErikE