Come si possono compilare dichiarazioni booleane in AppleScript?


1

Per esempio

    on run {input, parameters}

    set Variable1 to "5"

    if (Variable1 is not "5") & (Variable1 is not "6") then

        display dialog "Variable1 is not 5 or 6"

    else

        display dialog "Variable1 is 5"

    end if


    return input
end run

Durante l'esecuzione di questo programma, ottengo l'errore:

Impossibile rendere {false, true} in tipo booleano.

Risposte:


1

Il seguente dovrebbe gestire il test:

set Variable1 to "5"

if (Variable1 is not "5") and (Variable1 is not "6") then
    display dialog "Variable1 is not 5 or 6"
else
    display dialog "Variable1 is " & Variable1
end if

1
Giusto per essere chiari, quale parte del mio codice non era corretta: l'uso della e commerciale invece di "e", le parentesi, o l'uso di "non è" invece di "non è uguale a"?
rubik's sphere

Ci può essere più di un modo per scrivere qualcosa, a volte si riduce allo stile, ma l'errore principale è stato l'uso della e commerciale. Se lo cambi semplicemente and il codice dovrebbe funzionare anche se tu set Variable1 to "6" dirà erroneamente display dialog "Variable1 is 5",
user3439894

Ma cosa intendi per "errore primario"? L'e commerciale non è l'unico errore?
rubik's sphere

No la e commerciale non era l'unico errore. IMO display dialog "Variable1 is 5" era sbagliato mentre stai testando a variabile e se fosse impostato su 6 il messaggio dovrebbe dire Variable1 is 6 non Variable1 is 5 quindi ho aggiornato la mia risposta per riflettere le due modifiche che apporterei al tuo codice .
user3439894
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.