Si ustedes estan aprendiendo swift, este material me ayudo muchisimo, https://www.hackingwithswift.com/100
Condicionales y operaciones básicas
Todo lo que aprenderás sobre Swift
Operaciones de asignación y aritmeticas
Comparaciones
Operaciones Ternarias
Operador Nil Coalescing
Rangos
Operadores lógicos
Manipulación de Strings
Strings
Inicialización y mutabilidad
Characters
Índices de Strings
Substrings
Prefijos y Sufijos
Representaciones Unicode
Estructuras de datos
Arrays
Acceder y modificar elementos de un Array
Iterando en Arrays
Conjuntos
Iteraciones y operaciones sobre conjuntos
Diccionarios
Iteración en diccionarios
Sentencias de Control
Ciclo for-in
Ciclo while
Uso de if
Uso de Switch
Switch usando rangos - Interval matching
Switch usando tuplas
Switch con casos compuestos
Sentencias de transferencia de control
Continue y break
Fallthrough
Uso de return y guard
Available en API: Manejo de versiones
Cierre del curso
Cierre del curso y próximos pasos
Juan Gabriel Gomila
Aportes 23
Preguntas 5
Si ustedes estan aprendiendo swift, este material me ayudo muchisimo, https://www.hackingwithswift.com/100
var decimalNumber: Double = 8.0
decimalNumber.formTruncatingRemainder(dividingBy: 3)
print(decimalNumber) //imprime 2 porque remplaza el valor actual de la variable por el modulo del mismo con el que se le mande de parametro, en este caso 3
number += 3 // number = number +3
number -= 2 // number = number -2
number *= 2 // number = number *2
number /= 2 // number = number/2
Ejemplo rápido:
print(5.0.truncatingRemainder(dividingBy: 3.1))
//Output: 1.9
De acuerdo a la documentación tendríamos que utilizar truncatingRemainder para obtener el residuo de un Double; y se ejemplifica realizando la demostración de la siguiente manera:
let x = 8.625
print(x / 0.75)
let q = (x / 0.75).rounded(.towardZero)
let r = x.truncatingRemainder(dividingBy: 0.75)
Vamos con todo
No es muy común, pero se suelen hacer operaciones (multiplicación o división) sobre una sobre variable para alterar el valor de la misma de la siguiente manera:
//Increment, decrement and operations
var number = 5
number += 3 //number = number + 3
print(number) // Now is 8
number -= 2 //number = number -2
print(number) // Now is 6
number *= 2
print(number) // Now is 12
number /= 2 // Now is 6 again
print(number)
Operaciones de Asignación
El operador de asignación ( a = b )
inicializa o actualiza el valor de a
con el valor de b
let b = 10
let a = 5
a = b
//A es ahora igual 10
Si el lado derecho de la asignación es una tupla con múltiples valores, sus elementos se pueden descomponer en múltiples constantes o variables a las vez
let (x,y) = (1,2)
//x es igual a 1 y y es igual a 2
A diferencia del operador de asignación en C y Objetive-C, el operador de asignación en Swift no devuelve un valor por sí mismo. La siguiente declaración no es válida
if x = y {
// Esto no es valido, ya que x = y no retorna un valor
}
Esta característica. evita que el operador de asignación ( = )
se utilice por accidente cuando se pretende realmente usar el operador de igualdad ( == )
. Swift le ayuda a evitar este tipo de errores en su código al invalidar esto if x = y
.
Solo toma la documentación y la traduce al español jaja
ttps://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html
var four = 4
four *= 2
print(four)
four /= 2
print(four)
four %= 2
print(four)
resultado:
8
4
0
Fórmula o algoritmo de Euclides
Residuo de un valor dividido para otro.
El siguiente ejemplo calcula el resto de dividir 8,625 por 0,75:
let x = 8.625
print(x / 0.75) //11.5
let q = (x/0.75).rounded(.toNearestOrEven) //12
let r = x.remainder(dividingBy: 0.75) //-0.375
let x1 = 0.75 * q * r //-3.375
Recuerden que: Para dos valores finitos llamados en este caso
x y y, el resto llamado r de dividir x por y, satisface la ecuación:
x == y * q + r, donde q es el número entero más cercano a x/y.
Si x/y está exactamente a la mitad entre dos números enteros, se selecciona que q sea par.
Obtenido de la documentación de Apple: apple-remainder
let x = 8.625
print(x / 0.75)
// Prints “11.5”
let q = (x / 0.75).rounded(.toNearestOrEven)
// q == 12.0
let r = x.remainder(dividingBy: 0.75)
// r == -0.375
let x1 = 0.75 * q + r
// x1 == 8.625
Es muy importante la diferencia entre ‘=’ y ‘==’. El profesor lo explica de fábula.
= Asignar valor a variable
== Comparar valores de variables
14.7.truncatingRemainder(dividingBy: 5.0)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?