如何访问我使用cons(:)运算符添加的列表元素?

栏目: 编程语言 · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/9486874/how-do-i-access-a-list-element-ive-added-with-the-cons-operator
我是 Haskell

的新手(以及一般的函数式编程),并且想知道如何使用cons(:)运算符访问我添加到列表中的新元素?

例如,使用WinGHCi我创建一个新列表并访问第一个元素:

ghci> let a = [1,2,3]
ghci> a!!0
1

提示返回1,第一个元素的值,酷.现在我在列表的前面添加一个新值并尝试访问它:

ghci> 5:a
[5,1,2,3]
ghci> a!!0
1

看起来列表项不会被重新编入索引.我尝试使用负面索引来工作和其他类似的东西,但编译器似乎没有批准.我正在阅读的教程只是跳过它,我找不到任何在线使用的东西.如何从列表中获取值“5”?

如果这是一个非常基本的问题,感谢您的帮助和抱歉.

这个想法是函数式编程的核心:您(通常)不会在适当的位置修改数据.因此,您不要将项添加到列表中:您创建新列表而不修改旧列表.

这允许许多好东西,例如共享,因为您永远不会更改旧数据,因此您可以继续引用它.但如果你习惯于其他编程范例,它也会带来负担:你必须改变你的方法来处理事物(通常你必须改变你的数据结构/算法,因为他们依赖于数据结构的就地修改) .

在您的示例中,只需为cons’ed列表指定一个新名称:

let a = [1, 2, 3]
let b = 5:a

翻译自:https://stackoverflow.com/questions/9486874/how-do-i-access-a-list-element-ive-added-with-the-cons-operator


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

决战大数据

决战大数据

车品觉 / 浙江人民出版社 / 2014-3-1 / 45.9

[内容简介]  大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不“谈大数据色变”,并呈现出一种观望、迷茫、手足无措的状态。车品觉,作为一名经验丰富的电商人,在敬畏大数据的同时,洞悉到了数据时代商业发展的更多契机,他创新了数据框架的建立和使用,重新量化了数据价值的指标,并挖掘了在无线数据和多屏时代下商业发展的本质……在他看来,改变思维方式,即可改变数据和商业的未来。  ......一起来看看 《决战大数据》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码