我试图构建一个字符串列表,但我不明白为什么 String ++ [' '] 有效。如果我尝试处理数字,例如 1 ++ [' '],它不起作用。
我做了:“Anna”++ [' '] 有效,但 1 ++ [' '] 不行。是什么原因?
我正在使用使用 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) 出现在签名中?