覆盖以前的功能

时间:2011-11-30 10:56:01

标签: haskell functional-programming

我有一个函数,其中包含前101个字符:

characters :: [String]
characters = [[chr i] |i<-[0..100]]

我需要做的是让下一个函数永久地附加到这个函数,到目前为止我已经尝试过类似的东西,但是这并没有保留结果。

append :: [String] -> String -> String -> [String]    
append characters xs ys = characters ++ [(take 2 (xs++ys))]

所以我需要的是能够使用追加功能不断扩展我的角色功能,而不会丢失结果。 谢谢你的回答。

2 个答案:

答案 0 :(得分:4)

值在Haskell中是不可变的,所以

characters ++ somethingElse

生成一个新列表,前面包含characters的副本,characters本身保持不变。

所以,如上所述,你的任务是不可能的。有什么实际要求?

答案 1 :(得分:1)

我不知道,你要用你的例子做什么。但是要回答你的主题,你可以import使用hiding - 标志并编写自己的函数版本,例如:

import Data.Text hiding (append)

HTH