haskell(15)
来源:互联网 发布:视频下载王 mac 编辑:程序博客网 时间:2024/05/22 09:40
本博客所有内容是原创,未经书面许可,严禁任何形式的转载。
http://blog.csdn.net/u010255642
12、守卫(guards)
模式匹配针对的是确定值,而守卫(guards)则测试值的特性是true还是false,守卫更适合需要对参数运用复杂的条件表达式情况。
numtest ::(Num a,Ord a)=>a->Stringnumtest testnum |testnum <=100 ="<=100"|testnum <=1000 ="<=1000"|testnum <=10000 ="<=10000"|otherwise =">10000"
加载后运行。
*Main> numtest 10
"<=100"
*Main> numtest 1000
"<=1000"
*Main> numtest 10000
"<=10000"
*Main> numtest (-1000)
"<=100"
*Main> numtest 100000
">10000"
再来看一个解一元二次方程的例子,只有一个未知数且未知数最高次数为2的整式方程叫做一元二次方程,其一般形式为(a≠0)。
求根的公式是
当有两个不相等的实数根,等于0时,有2个相等的实数根,否则是下面两个复数根:
完成这个任务,我们需要装载复数模块,装载模块的语法为: import 模块名 , 复数模块的名字是Data.Complex。
我们在ghci中可以直接使用:m +/- 模块名的方式加载或释放模块。比如:
Prelude> :m +Data.Complex
Prelude Data.Complex> :m -Data.Complex
Prelude>
也可同时装载和释放多个模块
Prelude> :m +Data.Complex Data.List
Prelude Data.Complex Data.List> :m -Data.Complex Data.List
Prelude>
所有装载模块的函数可以在全局命名空间使用。
复数的表示方式是:实部:+虚部,比如5+12.8i可在haskell中表示为:
Prelude> :m +Data.Complex
Prelude Data.Complex> 5 :+12.8
5.0 :+ 12.8
Prelude Data.Complex>
关于数字的类型类,haskell主要有:
Integral:包括Int和Integer类型
RealFloat:包括Float和Double 类型
RealFrac:包括RealFloat类型类,Ratio类型是该类型类的成员
Floating:包括 RealFloat类型类,Complex类型是该类型类的成员
Real:包括Integral和RealFrac类型类
Fractional:包括RealFrac和Floating类型类
Num:包括Real和Fractional类型类
- haskell(15)
- Haskell
- Haskell
- Haskell语言学习笔记(15)Data.List
- Haskell简介
- haskell笔记
- Haskell 入门
- 尝试haskell
- [Haskell] ex1
- Hi Haskell
- [Haskell] ex3
- 初识haskell
- Haskell教程
- haskell学习心得
- SICP HASKELL
- haskell(1)
- haskell(2)
- haskell(3)
- 关于在Linux服务器上建立新用户
- Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析
- IPhone开源代码汇总
- STL bind1st bind2nd详解
- 高效程序员的 7 个共同特征
- haskell(15)
- poj2635-大进制转化+同余定理+素数筛选
- Installing CUDA Toolkit 5.0 on CentOS 6.4
- ANT简明教程
- Android 下拉刷新控件之ScrollView版本实现
- The APR based Apache Tomcat Native library
- pptp
- haskell(16)
- c++ 练习