Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

163
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda