Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

169
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!