Ask Your Question

How to utilize a file argument specified in the command line with ".." in Haskell?

asked 2021-06-14 11:00:00 +0000

ladyg gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-07-02 10:00:00 +0000

qstack gravatar image

In Haskell, you can use the getArgs function from the System.Environment module to retrieve the command line arguments passed to your program as a list of String values.

To utilize a file argument specified in the command line with "..", you can create a function that takes in the file path as a String argument, and then use that argument to read or write to the file.

For example, here is a simple program that reads a file specified in the command line, and prints its contents to the console:

import System.Environment (getArgs)

main :: IO ()
main = do
    args <- getArgs
    case args of
        [filePath] -> do
            contents <- readFile filePath
            putStrLn contents
        _ -> putStrLn "Usage: programName <file>"

This program uses pattern matching to ensure that the command line arguments contain exactly one value, which is assumed to be the file path. If there are more or fewer arguments, the program will print a usage message.

If you run this program using a command like programName ../path/to/file.txt, it will print the contents of the specified file to the console.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer

Question Tools


Asked: 2021-06-14 11:00:00 +0000

Seen: 9 times

Last updated: Jul 02 '22