2015-03-30 1 views
2

Я играю с новым языком Swift от Apple. Ниже фрагмент кода может успешно произвести результат:Быстрая синтаксическая проблема: var a: Int64 = -7

var a:Int64 = -7 
println(a) 

Однако, если изменить код следующим образом:

var a:Int64 =-7 
println(a) 

Я получаю сообщение об ошибке:

Error:(12, 12) consecutive statements on a line must be separated by ';'

Кажется, что Swift считает, что =- - оператор, которого нет в Swift. Если да, зачем генерировать эту ошибку?

ответ

2

Swift очень строг, чтобы избежать двусмысленности в операторах =- в var a:Int64 =-7 в основном означает унарный префиксный оператор, который в этом случае не определен. =- нельзя разделить на две части, так как нет разделителя, а оператор =- может быть определен в любое время. Чтобы избежать каких-либо двусмысленных пробелов. var a:Int64 = -7 имеет четкое разделение между назначением и унарным префиксным оператором.

Смежные вопросы