Credo che Swift è un linguaggio moderno molto ben costruito, tuttavia, v'è una cosa che mi puzzle, e questa è la motivazione per avere (nil < = 0) == true e (nil < 0) = = veroQualcuno conosce la logica dietro "(nil <0) == true" e "(nil <= 0) == true" in Swift?
Qui ci sono più casi:
In ogni caso, il ritorno vero per nil < 0 sembra andare contro l'intero concetto facoltativa, in cui uno degli argomenti era su come evitare l'inizializzazione numero predefinito di " 0" . Ora "0" è di nuovo speciale.
Chiunque ha qualche spiegazione Swift ha deciso di avere (n. < = 0) e (nil < 0) restituisce true.
Non penso che abbia nulla a che fare con 0, per dire. Inserisci un numero qualsiasi e (nil <= n) == true sarà sempre vero. Dato che Swift è un linguaggio più funzionale, nil ha bisogno di essere UNO tipo di valore, e sembra che lo abbiano scelto per rappresentare l'infinito negativo (quando lo si confronta con un int), mentre in Objective-C, se provi le stesse cose, vedi che nil è in realtà uguale a 0. Quindi in realtà non ha l'inizializzazione predefinita su 0. –