`
CharlesCui
  • 浏览: 431309 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Haskell的元组和列表类型小记

阅读更多
Haskell的列表要求其中的每个元素的类型都必须相同,

假设有如下一个list:

[a,b,c]


该list中的a\b\c类型要相同,

[1,2,3]和[4,5]的类型是相同的,都是(Num t)=>[t]
[[1,2],[1,2,3]]和[[1,2],[1,2,3],[1,2,3,4]]的类型是相同的,都是(Num t)=>[[t]]
[1,2,3]和['a','b','c']是不同的

和列表相似,但类型方面有很大不同的类型是元组。

假设有如下一个Tuple:

(a,b,c)
a,b,c不要求类型相同。

(a,b)和(a,b,c)虽然都是元组,但是类型不同,

所以如果要把列表写成这个样子:

[(a,b),(a,b,c)]

虽然列表中的元素都是元组,但是由于元组数量不同导致该列表不成立。
分享到:
评论
2 楼 CharlesCui 2009-01-21  
兴趣而已,暂无实际需求
1 楼 metaphy 2009-01-21  
自己按兴趣学还是有项目需要啊?

相关推荐

    HASKELL函数编程讲义

    理解这些类型以及它们之间的转换和操作是Haskell编程的基础。 2. **3.TuplesandLists.ppt - 元组与列表** 元组(Tuples)是Haskell中用来组合不同类型数据的结构,可以有不同的元素个数。列表(Lists)则是一种可...

    haskell-programming-from first principles-[C Allen J Moronuki]-sample

    元组和列表是Haskell中用于组织数据的主要工具。元组是固定大小的,类型不同的数据集合。列表则是可变长度的相同类型元素的集合。列表是Haskell中最为通用和强大的数据结构之一。 #### 类型声明 在Haskell中,所有...

    Haskell 2010 Language Report

    它还涵盖了 curry 应用、lambda 抽象、操作符应用、列表、元组、单元表达式、算术序列和列表解析等。 条件表达式、let 表达式、case 表达式、do 表达式都是控制结构,它们允许程序根据不同的条件执行不同的操作。do...

    haskell_语法详细参考 你用你知道

    Haskell 是一种纯函数式编程语言,它的设计注重类型安全、静态类型和懒惰求值。在这个详细参考中,我们将深入探讨 Haskell 的核心语法和特性,帮助你更好地理解和运用这一强大的编程工具。 1. **基本语法** - **...

    使用Haskell脚本进行类型推断的实践指南

    Haskell是一种纯函数式编程语言,它以其强大的类型系统和类型推断能力而闻名。在Haskell中,类型推断允许开发者编写函数时不必显式声明返回类型,编译器能够自动推断出表达式的类型。这一特性不仅简化了代码,还帮助...

    Haskell教程(中文版)

    4. **数据结构**:基本数据类型(如整数、字符串、列表)和复杂数据类型(如元组和自定义数据类型)。 5. **模块系统**:如何组织和导入代码,以及如何使用`import`语句。 6. **Monads**:Haskell的副作用管理机制...

    Haskell_Programming

    Lambda表达式的结构非常简单,由一个或多个参数列表和一个表达式组成。例如,`\(x) -> x + 1` 是一个简单的Lambda表达式,它接受一个参数 `x` 并返回 `x + 1` 的结果。 ##### 1.5 Beta还原 Beta还原是Lambda演算中...

    HaskellPart1_Haskell_

    1. **列表**:Haskell的列表是不可变的,支持链表操作,如`++`(连接)和`head`(取首元素)。 2. **元组**:用于组合不同类型的数据,可以有任意数量的元素。 3. **Maybe** 类型:处理可能的缺失值,避免空指针异常...

    Haskell 文档

    - 在Haskell中,函数是一等公民,可以像其他数据类型一样被传递和返回。 - 常见的高阶函数包括`map`, `filter`, `foldl`, `foldr`等,它们接受函数作为参数并返回新的函数或结果。 #### 四、Haskell的数据结构 -...

    Programming-in-Haskell-2nd-Edition.pdf

    Hutton解释了如何使用Haskell构建和操作诸如列表、元组、树等数据结构。他特别强调了列表的惰性求值特性,这是Haskell的一大特色,可以处理无限序列。 5. 递归 在Haskell中,递归是解决问题的主要手段。书中的例子...

    Haskell趣学指南---文字版.pdf

    第二章“从零开始”则带领读者迈出了Haskell编程的第一步,包括如何设置Haskell环境、编写第一个函数、学习列表(List)和范围(Range)的使用、列表解析(List Comprehension)和元组(Tuple)的概念。 随着学习的深入,第...

    Haskell Notes For Professionals

    比如,字符串字面量的处理可能涉及字符编码问题,浮点数和整数字面量的处理可能涉及到对不同数值类型的内在表示和运算的考量,列表字面量的处理可能需要掌握Haskell的列表操作函数和模式匹配技巧。 第三章涉及到了 ...

    Haskell cheat sheet

    它支持懒惰求值(lazy evaluation)、类型推断(type inference)以及模式匹配(pattern matching),这使得Haskell在处理复杂问题时更加高效和简洁。 ### 注释 Haskell中的注释非常简单,所有注释都以双破折号 `-...

    learn you a haskell

    - **列表简介**:介绍了Haskell中列表的概念和用法。 - **区间**:讨论了Haskell中的区间表示方法。 - **列表解析**:讲解了列表解析这一强大特性。 - **元组**:介绍了元组及其在Haskell中的使用场景。 - **第3...

    Thompson_S._Haskell_the_craft_of_functional_programming

    - **超市结账示例**: 通过一个复杂的示例(超市结账系统)展示了如何综合使用列表和其他数据结构来解决实际问题。 **7. 定义列表上的函数** - **列表模式匹配**: 介绍了如何使用模式匹配来处理列表。 - **列表上的...

    haskell-bookmarks, Haskell相关链接列表 受 goo.gl/fpldzp启发.zip

    haskell-bookmarks, Haskell相关链接列表 受 goo.gl/fpldzp启发 索引面向初学者的 ...SynthaxIO类型类类型:么半群应用函子透镜数据结构并发并行分发 Haskell外部函数接口其他组件设计模式和体系结构。Spedical目的:

    Hutton A Programming in Haskell

    - **元组类型**:介绍了元组类型的使用场景和特点。 - **函数类型**:讨论了函数作为一等公民的重要性和使用方式。 - **柯里化函数**:解释了函数柯里化的概念及其在Haskell中的实现。 - **多态类型**:讲述了多态性...

    Haskell Cookbook.zip

    5. 数据结构与算法:Haskell支持多种内置数据结构,如列表、树和图,以及自定义数据结构。学习如何高效地操作这些数据结构,以及如何应用算法,对于编写高性能的Haskell程序至关重要。 6. 高级特性:Haskell提供了...

Global site tag (gtag.js) - Google Analytics