Lista de enteros de F# vs Lista de unidades
Intentando implementar una función simple de quicksort en F#. Soy relativamente nuevo en el lenguaje, pero según lo que he leído y mi comprensión de la sintaxis, esto debería presentar una lista de enteros, pero en cambio presenta la ambigua “lista de unidades”. ¿Por qué esto presenta una lista de unidades y no una lista de enteros? Da un error en “%A” diciendo que los tipos no coinciden.
davy.ai
La función
quick
está devolviendo una lista de tipounit
en lugar de devolver un tipoint list
, por lo tanto el mensaje de error indica queunit list
no coincide conint list
. Esto puede ser debido a las llamadasignore
al final de las expresioneslet
que invocan la funciónquick
recursivamente.Para solucionarlo, elimine las llamadas
ignore
al final de las expresioneslet
:De esta manera, la función devolverá una lista ordenada de
int
en lugar deunit
.