Modulinos: Difference between revisions
Content added Content deleted
(Added Haskell) |
|||
Line 32: | Line 32: | ||
=={{header|C++}}== |
=={{header|C++}}== |
||
C++ programs |
C++ programs have scripted main by default. |
||
<lang cpp>#include <iostream> |
<lang cpp>#include <iostream> |
||
Line 58: | Line 58: | ||
=={{header|Erlang}}== |
=={{header|Erlang}}== |
||
Erlang programs |
Erlang programs have scripted main by default. |
||
<lang erlang>-module(scriptedmain). |
<lang erlang>-module(scriptedmain). |
||
Line 68: | Line 68: | ||
io:format("Number of Args: ~w~n", [length(Args)]), |
io:format("Number of Args: ~w~n", [length(Args)]), |
||
map (fun(Arg) -> io:format("Arg: ~s~n", [Arg]) end, Args).</lang> |
map (fun(Arg) -> io:format("Arg: ~s~n", [Arg]) end, Args).</lang> |
||
=={{header|Haskell}}== |
|||
Haskell programs also have scripted main by default. |
|||
<lang haskell>#!/usr/bin/env runhaskell |
|||
module ScriptedMain where |
|||
import System.Directory (getCurrentDirectory) |
|||
import System (getProgName, getArgs) |
|||
import Control.Monad (mapM_) |
|||
main :: IO () |
|||
main = do |
|||
directory <- getCurrentDirectory |
|||
program <- getProgName |
|||
args <- getArgs |
|||
putStrLn $ "Directory: " ++ directory |
|||
putStrLn $ "Program: " ++ program |
|||
putStrLn $ "Number of Args: " ++ (show . length) args |
|||
mapM_ (\x -> putStrLn $ "Arg: " ++ x) args</lang> |