swift swift-playground

cuales son las reglas para espacios en swift



swift-playground (1)

Practiqué en el patio de juegos de Swift y no pude entender por qué Swift es demasiado específico sobre dónde el programador debe proporcionar espacios y dónde no. Hice esta pregunta en muchos sitios y salas de chat, pero no obtuve ninguna respuesta.

var j: Int = 34 // Right var j:Int=23 //Wrong

Además, en clase

self.variable-= 5 //Wrong. Error: Consecutive statements must be followed by ; self.variable-=5 // Right self.variable -= 5 // Right

;

Incluso este ":" crea algunos problemas con los espacios a veces.

Creo que los espacios no deberían tener absolutamente ningún efecto en el código. Por lo general, es solo para beneficio de un programador. Simplemente hace que el código sea más legible, nada más. ¿Cuál es el mejor recurso para leer todas las reglas rápidas sobre espacios?


La respuesta a la segunda parte de su pregunta se puede encontrar aquí documentos rápidos

El espacio en blanco alrededor de un operador se usa para determinar si un operador se usa como operador de prefijo, operador de posfijo o operador binario. Este comportamiento se resume en las siguientes reglas:

Si un operador tiene espacios en blanco alrededor de ambos lados o alrededor de ninguno de los lados, se trata como un operador binario. Como ejemplo, el operador + en a + b y a + b se trata como un operador binario.

Si un operador tiene un espacio en blanco solo en el lado izquierdo, se trata como un operador unario prefijo. Como ejemplo, el operador ++ en a ++ b se trata como un operador unario prefijo.

Si un operador tiene un espacio en blanco solo en el lado derecho, se trata como un operador unario postfix. Como ejemplo, el operador ++ en a ++ b se trata como un operador unario postfix.

Si un operador no tiene espacios en blanco a la izquierda pero es seguido inmediatamente por un punto (.), Se trata como un operador unario postfix. Como ejemplo, el operador ++ en a ++. B se trata como un operador unario postfix (a ++ .b en lugar de a ++ .b).

etc ... (lea los documentos para más información sobre esto)

En cuanto a la primera parte de su pregunta, no vi ningún problema con ninguna de las formas de declarar las variables.

var j: Int = 34 var j:Int=23

El único problema con ese código provisto es que declaras j dos veces en el mismo alcance. Intente cambiar una de las j por una x o y u otra cosa.

Si te estabas preguntando sobre

var j:Int =10

o

var j:Int= 10

mira las reglas de arriba. = es un operador, por lo que si tuviera que hacer cualquiera de ellos, se trataría como prefijo o postfix, y obtendría el error de que prefix / postfix = está reservado

Estas reglas son importantes debido a la existencia de operadores como los operadores unarios más y menos unarios. El compilador debe poder distinguir entre un operador binario más y un operador unario más. Listado de operadores