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

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

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


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

查看所有标签

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

Effective JavaScript

Effective JavaScript

赫尔曼 (David Herman) / 黄博文、喻杨 / 机械工业出版社 / 2014-1-1 / CNY 49.00

Effective 系列丛书经典著作,亚马逊五星级畅销书,Ecma 的JavaScript 标准化委员会著名专家撰写,JavaScript 语言之父、Mozilla CTO —— Brendan Eich 作序鼎力推荐!作者凭借多年标准化委员会工作和实践经验,深刻辨析JavaScript 的内部运作机制、特性、陷阱和编程最佳实践,将它们高度浓缩为极具实践指导意义的 68 条精华建议。 本书共......一起来看看 《Effective JavaScript》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具