Dwie zmienne zawierają ten sam obiekt AppleScript, ale nie są równe, dlaczego?

1

Nie rozumiem:

tell application "Mail"
set A to first mailbox of first account
set B to every mailbox of first account
set C to first item of B

log C is A -- returns true, as expected

repeat with D in B
    log D is A -- returns false, WHY?!
    exit repeat
end repeat

end tell

Nie mogę zrozumieć tych wyników, zwłaszcza, że ​​dostaję:

log D -- returns "mailbox INBOX of account id E7992E19-9A74-418D-BEBB-5F46C8A3E776"
log A -- returns "mailbox INBOX of account id E7992E19-9A74-418D-BEBB-5F46C8A3E776"
log class of A -- returns "container"
log class of D -- returns "container"

Co sprawia, że ​​A nie jest równy D?

Zantafio
źródło
1
W tej formie instrukcji powtarzania zmienna pętli jest odwołaniem do elementu na liście, a nie do samego elementu, dlatego D zawiera pozycja 1 z {skrzynka pocztowa x .., skrzynka pocztowa z ..., ...} , nie skrzynka pocztowa x z .... obiekt. Aby uzyskać dobry wynik z referencją, użyj contents of, tak jak to - & gt; log (contents of D is A) -- returns true
jackjr300
@ jackjr300, Powinieneś zamieścić swój komentarz jako odpowiedź, aby można go było głosować, aby zwiększyć swoją reputację.
user3439894