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

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

内容简介:翻译自: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


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

查看所有标签

猜你喜欢:

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

用户故事地图

用户故事地图

Jeff Patton / 李涛、向振东 / 清华大学出版社 / 2016-4-1 / 59.00元

用户故事地图作为一种有效的需求工具,越来越广泛地应用于开发实践中。本书以用户故事地图为主题,强调以合作沟通的方式来全面理解用户需求,涉及的主题包括怎么以故事地图的方式来讲用户需求,如何分解和优化需求,如果通过团队协同工作的方式来积极吸取经验教训,从中洞察用户的需求,开发真正有价值的、小而美的产品和服务。本书适合产品经理、用户体验设计师、产品负责人、业务分析师、IT项目经理、敏捷教练和精益教练阅读和......一起来看看 《用户故事地图》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器