小编noe*_*ndo的帖子

谁能解释为什么“Anna”++ [' '] 在 Haskell 中有效,但在 1 ++ [' '] 中无效?

我试图构建一个字符串列表,但我不明白为什么 String ++ [' '] 有效。如果我尝试处理数字,例如 1 ++ [' '],它不起作用。

我做了:“Anna”++ [' '] 有效,但 1 ++ [' '] 不行。是什么原因?

string haskell list build

3
推荐指数
1
解决办法
103
查看次数

使用 Haskell 列表时,为什么要在 t -> [t] -> [t] 的签名中包含 (Eq t) ?

我正在使用使用 t 类型元素列表的函数。这意味着列表可以是整数列表或字符串或字符列表。但我不明白为什么 (Eq t) 必须位于类型签名中。

例如

belong :: (Eq t) => t -> [t] -> Bool    
belong e [] = False
belong e (x:xs) | e == x = True
                | otherwise = belong e xs
Run Code Online (Sandbox Code Playgroud)

--为什么 (Eq t) 出现在签名中?

haskell types typeclass

1
推荐指数
1
解决办法
124
查看次数

标签 统计

haskell ×2

build ×1

list ×1

string ×1

typeclass ×1

types ×1