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

166
Vistas
PureScript: pase argumentos a main usando la línea de comando

Los programas PureScript exportan una función principal que se invoca cuando ejecuta el programa. Pero no está claro cómo pasarle argumentos, o si eso es posible.

Considere el siguiente programa simple, que escribe en mayúscula una cadena.

 module Main where import Effect (Effect) import Effect.Console (log) import Prelude (Unit, discard) import Data.String (toUpper) message :: String message = "Satisfaction Rating: 8.23" main ∷ Effect Unit main = do log ( toUpper ( message ) )

que salidas

 SATISFACTION RATING: 8.23

Este programa se ejecuta cuando se invoca spago run .

Mi pregunta es la siguiente: ¿Cómo se puede pasar el message de argumento en el ejemplo de código a través de la línea de comando, creando un mensaje personalizado en mayúsculas?

El comando de ejecución actualizado se vería así:

 spago run --message="new_message"

Y la salida actualizada se vería así

 NEW_MESSAGE

En resumen, ¿cómo se pasan valores a un programa PureScript desde el exterior?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cuando ejecuta un programa PureScript con spago run , se ejecuta bajo Node. Por lo tanto, para obtener argumentos de la línea de comandos, debe hacerlo como Node.

Y mire: hay un enlace de PureScript para las instalaciones de Node relevantes: la función argv de purescript-node-process . Es un efecto que devuelve una serie de argumentos:

 import Node.Process (argv) main = do args <- argv log $ show args

Un examen rápido de spago run --help revela que los argumentos se pueden pasar al programa a través del parámetro -b :

 spago run -b somearg

Para argumentos múltiples, cítelos:

 spago run -b "somearg anotherarg"

Tenga en cuenta que esto funciona en Linux (y presumiblemente en macOS), pero falla en Windows, donde Spago, por alguna razón, ignora las comillas e intenta interpretar anotherarg como su propio argumento. Esto es claramente un error. Este tema parece relevante.

about 4 years ago · Juan Pablo Isaza 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