- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Why recursive `let` make space effcient?
(3 个回答)
8年前关闭。
重复 is defined如下:
repeat :: a -> [a]
repeat x = xs where xs = x:xs
repeat :: a -> [a]
repeat x = x : repeat x
最佳答案
这是出于性能和空间复杂性的原因。
代码的第一个版本使用显式共享;它基本上看起来像内存中的单元素循环链表(代码中的 xs
是一个列表节点,其值为 x
,它的尾部指向同一个列表节点)。当您评估列表中越来越多的元素时,它只会重复使用同一个节点。
相反,第二个版本创建了一个列表,它在评估时实际上在内存中增长,因为 repeat x
的不同调用总是重新计算(而不是内存)。在生成的列表末尾总会有另一个未评估的 thunk。
关于haskell - 为什么在 Prelude 中按原样定义重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031972/
我正在尝试从 csv 文件中读取数据,而不是例如001000 我在我的数据中得到 1000。 我试过设置 as.is=!stringsAsFactors ,但收到以下错误消息: error: obj
我正在尝试实现类似于Go Playground的 share 按钮的功能。 单击名为share的按钮时,当前的HTML响应将保存到文件中。这还包括用户可以看到的所有内容。 到目前为止我可以做什么 -我
在迁移到使用git的过程中,我们获得了一个解决方案的生产版本,并将其作为master提交。 然后我们制作了一个开发版本,并创建了一个名为develop的孤立分支。 (背景:我们在这里有点纠结的原因是,
题 请建议一种去除标点符号的方法,但不是 中的那些。或 . 例如,来自:the asbestos fiber $% with 产生:the asbestos fiber unk is unusu
我正在创建一个包含所有其他程序的程序,但是当我尝试写入该文件时,它会将 \n 作为新行打印,而不是字面上的 \n . 例如: file.write("""a=input("What would you
我有一个 docker 安装,在 /var/lib/docker 中有几个图像和大约 150Gigs 的数据。此设置使用 overlayfs 作为其存储驱动程序。 /var/lib/docker/ov
我是一名优秀的程序员,十分优秀!