第三个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"



posted @ 2008-01-29 10:21  申龙斌的程序人生  阅读(1421)  评论(0编辑  收藏  举报