2017-05-23 3 views
1

単に "または"演算子を使用すると、変数 "theMessage"に "x"または "y"が含まれているかどうかを確認できます。どうやらない。AppleScript Xは用語リストに含まれています

私はこれを試してみました:

else if theMessage contains {"display", "screen"} then 
--sleep computer's display 
    do shell script "pm displaysleepnow" 
    set theResponse to "Now sleeping the computer's display" 

私は、おそらくこれらの多くを書くことになりますので、私は用語事業者と用語のために行くのサブルーチンを得ることができればそれは素晴らしいことです。 ..例えば

if theMessage contains {....} not {....} 

答えて

0

あなたは、この

on containsItems from qList against theText 
    repeat with anItem in qList 
     if theText contains anItem then return true 
    end repeat 
    return false 
end containsItems 

のようなものを繰り返しループを使用して、私はAppleScriptを好きではない理由ですそれを

set theMessage to "ashlfkjhalksjdhfscreenwperoivj" 
set queryList to {"display", "screen"} 
set doesContain to containsItems from queryList against theMessage 
+0

を使用する必要があります。それはあまりにも複雑に見えませんか? – yeeeeee

+0

だから私はたびに複数のものを比較したいと思います。 theMessage xとyの代わりにxを含む、私は変数として最初にそれを設定する必要がありますか?なぜ1つの用語で簡単にできるのですか?しかし、2つ以上の用語を比較するためには、このすべてが必要ですか? – yeeeeee

+0

はい、しかし、ハンドラは 'theMessage'にx **または** yが含まれているかどうかをチェックします。あなたが1:1をチェックするので、1つのアイテムが簡単です。複数のアイテムがある場合、1:nをチェックする必要があります – vadian

関連する問題