第二个haskell程序:带命令行参数的Hello World

如果写控制台程序,经常需要跟上许多命令行参数,我的目的:
如果不带任何参数,则输出“Hello World”,如果带参数,则将参数跟在Hello的后面。
执行:hello.exe
输出:Hello World
执行:hello.exe Haskell
输出:Hello Haskell

代码如下:
import System( getArgs )
main = do
    args <- getArgs
    putStrLn (if (length args) ==0 then "Hello World" else ("Hello " ++ args !! 0))

要点:
(1) import 类似java语法,用来导入其他模块中的函数,这里的System是一个模块名(module), Haskell规定模块名必须大写字母开头,而getArgs是一个函数名。
(2) do关键字涉及到IO问题,一言难尽,正在学习中。
(3) if then else 与大多数语言类似,不过在haskell中是一个表达式
(4) args是一个List, List在haskell中非常强大,args !! 0 意思是取出第0个参数(从0开始,与C语言相似)



----==== Email: slofslb (GTD) qq.com 请将(GTD)换成@ ====----
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
作者:申龙斌的程序人生

---- 魔方桥牌象棋、游戏人生...
---- BASIC、C++、JAVA、C#HaskellObjective-COpen Inventor、程序人生...
---- GTD伴我实现人生目标
---- 区块链生存训练
---- 用欧拉计划学Rust编程
---- 申龙斌的读书笔记(2011-2019)
----
原文地址:https://www.cnblogs.com/speeding/p/1056246.html