One of the recent commits a Scala maestro elimina la restricción al combinar límites de contexto/vista con parámetros implícitos. Esa es una gran mejora que reduce la cantidad de repetición, pero ¿cuál fue el motivo de hacer esa restricción antes, y qué consecuencias podemos esperar ahora?¿Cuál fue el motivo para restringir la combinación de parámetros implícitos y límites de vista/contexto?
8
A
Respuesta
5
El contexto y los límites de vista añaden parámetros implícitos. Así que si usted escribe:
def f[T : Manifest](l: List[T])(implicit ord: Ordering[T])
Hay, de hecho, dos parámetros implícitos que se pasa en lugar de uno. Permitir este tipo de sintaxis sin duda dará lugar a un poco de confusión en el camino. A medida que el uso de parámetros implícitos comienza a generalizarse, debido a las clases de tipos, es útil poder hacer algo como lo anterior.
Cuestiones relacionadas
- 1. parámetros de plantilla implícitos
- 2. Resolución de parámetros implícitos: configuración de la precedencia
- 3. ¿Cuál es el motivo de UnsupportedClassVersionError?
- 4. NUnit y TestCaseAttribute, ¿es posible la combinación cruzada de parámetros?
- 5. Restringir un número a límites superiores/inferiores?
- 6. Lazy vals y los parámetros implícitos en Scala
- 7. plantillas con parámetros implícitos, declaración adelantada, C++
- 8. ¿Los parámetros implícitos son una dificultad para incluir en GHC?
- 9. ¿El motivo de MonadState obtener y poner?
- 10. Scala, Currying en el método de grupo de parámetros múltiples que incluye parámetros implícitos?
- 11. ¿Por qué C++ 11 tiene movimientos implícitos para los parámetros de valor, pero no para los parámetros de valor?
- 12. ¿Cuál es el motivo para tener '//' en Python?
- 13. Motivo técnico para no tener parámetros predeterminados en Java
- 14. ¿Cuál es el motivo para usar dicha sintaxis (0, _.Em)();
- 15. Restringir el desplazamiento de MKMapView
- 16. ¿Cuál fue la motivación para agregar la bandera IPV6_V6ONLY?
- 17. ¿Cuál es el motivo para especificar un Enum como uint?
- 18. C++ instantiaion plantilla de función con los parámetros implícitos
- 19. ¿Cuál es el motivo para tener reglas de autorización en la base de datos?
- 20. ¿Combinación de DI con parámetros de constructor?
- 21. ¿Cómo la restricción del tipo `F [_]: Applicative` de Scalaz implica el uso de parámetros implícitos?
- 22. Clase de caso y argumentos implícitos y coincidencia de patrones
- 23. Motivo de saltarse el AOT?
- 24. ¿Cuál es la mejor herramienta de combinación visual para Git?
- 25. ¿Cuál es el motivo de la diferencia entre -> y. en c/C++?
- 26. Cuál es el motivo de "FimgApiStretch: stretch failed" en Android
- 27. ¿Cuál es la diferencia entre una combinación hash y una combinación merge (RDBMS de Oracle)?
- 28. Validación de Scalaz y límites de ApplicativeBuilder
- 29. miembros generados implícitos y noexcept
- 30. Descubriendo el motivo de la falla File.mkdirs()
"El contexto y los límites de vista añaden parámetros implícitos" >> seguro, lo sé. Estaba bastante interesado, si se produce con alguna dificultad técnica. –
IMO, no poder usar los límites junto con los parámetros implícitos también puede ser muy confuso para un novato :) –
@Vasil No estoy diciendo que sea una mala decisión, solo que agrega un cierto grado de ... confusión . Sería ilegal llamar a la función anterior como 'f (Lista (1 -> 2, 2 -> 1)) (Hacer un pedido por (_.swap))', aunque parece que tiene todas las listas de parámetros llenadas correctamente. –