内容简介:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ES6—扩展运算符和rest运算符(6)
- C/C++三元运算符实际上是否具有与赋值运算符相同的优先级?
- Python 运算符
- Python算术运算符
- 004.Python运算符
- JavaScript③运算符
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。