haskell - 以下是什么类型?
问题描述
我刚开始学习新的 Haskell,我正在努力确定以下内容的类型:
1) one x = [x]
2) three x = (x,x,x)
3) first x y = x
4) mult m n = m*n
5) [(False,’0’),(True,’1’)]
解决方案
one x = [x]
是一个接受一个元素并返回一个仅包含该元素的列表,因此它具有类型one :: a -> [a]
three x = (x,x,x)
有平凡的类型three :: a -> (a,a,a)
first x y = x
看起来像const
具有类型的 Prelude 函数first :: a -> b -> a
mult m n = m*n
具有与 相同的类型(*)
,即(*) :: Num a => a -> a -> a
[(False,’0’),(True,’1’)]
甚至不是函数,所以有简单类型:: [(Bool, Char)]
请记住,您始终可以使用 GHCi 函数:t
来返回表达式的类型
推荐阅读
- mysql - 通过从 MySQL 中的其中一个表中选择 MAX(differ_key) 在特定键上连接 2 个表
- python - Graphviz Python 绘制 C-Net,线连接边,边上的点
- react-native - 图像未在其容器 React Native 顶部对齐
- android - 当 Flutter 中的“TextFormfield”成为焦点时,“OnWillpop”不起作用
- c - 我对这个 C 程序如何工作的理解正确吗?
- reactjs - 在 React-testing-library 中模拟 window.close()
- flutter - 当我使用 Flutter 在云 Firestore 中检索我的文档数组时,出现错误,例如列表不是字符串的子类型
- arrays - jq输出空字符串时bash readarray -t数组赋值的问题
- c# - ASP.NET Core 中的健康检查
- mongodb - 通过同一属性中的两个嵌套属性查找