第三个haskell程序:将字符串倒序输出

将字符串倒序输出
执行:hello.exe haskell
结果:lleksah

import System( getArgs )
main = do
    args <- getArgs
    putStrLn (if length args == 0 then "no argument!" else reverse (args !! 0))


要点:
(1) haskell的基础库Prelude中提供了reverse的函数, 源代码用到了递归定义:

reverse l =  rev l []
    where
        rev []     a = a
        rev (x:xs) a = rev xs (x:a)

(2) 字符串类型实际上是[Char]类型,也就是字符的数组
在Prelude模块中定义了五种数值(numeric)类型:

(3) 最强大的数据类型还是List, 将一组值放在方括号内表示
例如:
    [1, 2, 3]
    [1 .. 5] 即 [1, 2, 3, 4, 5]
    [1, 3 .. 10] 即 [1, 3, 5, 7, 9]
    ['H', 'e', 'l', 'l', 'o'] 即 "Hello"





----==== 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/1057118.html