swift - segundo - Propiedades de solo lectura
quemaduras de sol en las piernas (2)
Necesito ayuda con "solo lectura" en swift. Probé varias maneras, pero simplemente no pude averiguar cómo compilarlo sin errores. Aquí está la pregunta y lo que pensé.
Cree una propiedad computada de solo lectura llamada isEquilateral que verifique si los tres lados de un triángulo tienen la misma longitud y devuelve true si son y false si no lo son.
var isEquilateral: Int {
}
¿Algo como esto? (según lo sugerido por @vacawama en los comentarios)
struct Triangle {
let edgeA: Int
let edgeB: Int
let edgeC: Int
var isEquilateral: Bool {
return (edgeA, edgeB) == (edgeB, edgeC)
}
}
Vamos a probarlo
let triangle = Triangle(edgeA: 5, edgeB: 5, edgeC: 5)
triangle.isEquilateral // true
o
let triangle = Triangle(edgeA: 2, edgeB: 2, edgeC: 1)
triangle.isEquilateral // false
Si desea una propiedad almacenada de "solo lectura", use private(set)
:
private(set) var isEquilateral = false
Si se trata de una propiedad calculada a partir de otras propiedades, entonces sí, use la propiedad computada:
var isEquilateral: Bool {
return a == b && b == c
}