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.