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

200
Vistas
Función que no se llama el número especificado de veces
open System let repeat action count = for i in 1..count do action let print = printfn "Test" repeat print 10

Da como resultado que "Prueba" se imprima solo una vez. ¿Cómo se debe escribir para imprimir 10 veces? Si el 10 no se usa actualmente, ¿por qué no hay advertencias?

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

0

El problema es que no está definiendo print como una función sino como un valor constante.

Las funciones deben tomar al menos un parámetro de unit :

 open System let repeat action count = for i in 1..count do action () let print () = printfn "Test" repeat print 10

En su código original, el efecto secundario de imprimir ocurre solo una vez, en la definición de print .

Y no hay advertencias ya que se usa print , pero su valor es () , que es el valor devuelto por la llamada a la printfn "test" .

over 4 years ago · Santiago Trujillo Denunciar

0

let print = printfn "Test"

Este es un enlace. Significa que la variable print se asigna al resultado de la ejecución de printfn "Test" . El resultado de la ejecución de printfnt "Test" es una unidad () , lo que lleva a la siguiente situación: print es igual a unit

En su ciclo, simplemente devuelve la unidad con cada iteración, sin llamar a nada.

Para obtener los resultados deseados, debe cambiar el enlace a una función:

 open System let repeat action count = for i in 1..count do action() let print() = printfn "Test" repeat print 10
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