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

368
Vistas
¿Cómo extender el protocolo Opcional, donde el elemento envuelto es una matriz de elementos genéricos equiparables?

Diría que este problema se trata de una declaración de extensión adecuada.

Me gustaría extender Array lleno de elementos genéricos, donde Element se ajusta a Equatable. Me las arreglé para hacer eso por:

 extension Array where Element: Equatable{ // my code }

Sin embargo, me gustaría saber cómo declarar correctamente la extensión cuando la matriz llena de elementos equivalentes está dentro de un opcional. Sé que en este caso en realidad estoy extendiendo el protocolo Opcional, pero no puedo descifrar el resto

Estaba pensando en algo como:

 extension Optional where Wrapped: Array & Equatable { // my code }

No puedo entenderlo. Algunas ideas ?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No creo que no pueda especificar esta restricción en el nivel de extensión, sin embargo, debería poder especificarla en el nivel de función:

 extension Optional { func myFunc<T: Equatable>() where Wrapped == [T] { // do your thing } }
over 4 years ago · Santiago Trujillo Denunciar

0

Cristik proporcionó una buena solución. Una alternativa es escribir una extensión a una colección opcional de elementos equiparables:

 extension Optional where Wrapped: Collection, Wrapped.Element: Equatable { func foo() { } }

Esto sería aplicable a arreglos, segmentos de arreglos y otras colecciones.

Según lo que haga la extensión, es posible que desee utilizar una combinación de Collection , MutableCollection , BidirectionalCollection , RandomAccessCollection .

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