Это правильный код в Swift:Swift nil имеет числовое значение?
println(nil < 1)
И выход будет верно, также
println(nil > 1)
будет ложным (число 1 произвольно, вы можете сделать то же самое для -1 и вероятно, что-то еще). Причина, о которой я прошу, заключается в том, что я видел код, который пытался сравнить "some_string".toInt()
с числовым значением и скомпилировал его, что кажется неправильным, учитывая, что toInt()
возвращает Int?
.
Вопрос в том, должен ли это быть допустимым синтаксисом в Swift? Если да, то каково числовое значение nil?
Swift 3,0 Обновление:
Похоже Swift Evolution решать эту проблему removing the optional comparison operators. Это уже не проблема в Swift 3.0, поскольку она не компилируется.
это выглядит как ошибка для меня. –
'Int.min as Int? > nil' '$ R14: Bool = true', возможно, это позволит вам сравнить две ошибки' Int? 'и 'Int.min> nil' дать компиляцию –
@BryanChen Это, безусловно, интересно. Я бы определенно сказал об ошибке в этом контексте, но мне очень хотелось бы знать, как он приходит к такому выводу. –