Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

93
Vistas
Propiedad calculada para sumar matrices numéricas en Swift

La tarea del libro dice: sin llamar al método reduce(_: _:), suma secuencias de números agregando una propiedad calculada llamada suma. Deberías poder usarlo así:

 [3, 7, 7].sum // 17 [8.5, 1.1, 0.1].sum // 9.7

Sugerencia de los autores: en la documentación del desarrollador, verifique a qué protocolos se ajustan Int y Double, y de qué protocolos heredan esos protocolos. Dentro del código a continuación, simplemente combiné dos soluciones que encontré, sin embargo, todavía contiene el método de reducción. Si puede ayudarme a comprender cómo se puede resolver esto / qué parte de la documentación del desarrollador proporciona una pista. Además, ¿cómo puedo evitar un error en el código actual/aplicar una posible solución en un rango cerrado?

 extension Sequence where Element: Numeric { var sum: Any { return reduce(0, +) } } [3, 7, 7].sum [8.5, 1.1, 0.1].sum [1...4].sum // Error: Property 'sum' requires that 'ClosedRange<Int>' conform to 'Numeric'
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

[1...4].sum está trabajando en una matriz de rango cerrado ( [...] significa "matriz de..."). Querías decir: (1...4).sum .

También quieres decir:

 var sum: Element { ... }

en lugar de Any .

Si desea hacerlo aún más genérico, puede pasar de Numeric a AdditiveArithmetic de esta manera:

 extension Sequence where Element: AdditiveArithmetic { var sum: Element { reduce(.zero, +) } }

De esa manera podría funcionar en cosas como vectores.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda