- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Haskell 中,以下代码打印“[1,2,3,4,5”:
foo = take 10 $ show $ numbersFrom 1 where
numbersFrom start = start : numbersFrom (start + 1) -- could use [1..]
OutOfMemoryError
使用以下代码:
foo = take 10 $ unpacked $ show $ numbersFrom 1 where
numbersFrom start = start : numbersFrom (start + 1)
unpacked
从
String
转换所需的函数至
[Char]
和 FWIW,
unpacked
功能是急切的。为什么整个表达式不能像 Haskell 中那样懒惰?是否有可能在 Frege 中实现类似于 Haskell 的东西?
最佳答案
我不认识弗雷格,但根据语言定义String
是 java.lang.String
所以你不能构建无限长的字符串(内存不足问题可能与 unpack
急切无关)。
因为你知道 numbersFrom 1
的每个元素将显示为至少 1 个字符,然后您可以过度估计要显示的列表大小,然后解包,然后获取所需字符的数量:
foo = take 10 $ unpacked $ show $ take 10 $ numbersFrom 1 where
numbersFrom start = start : numbersFrom (start + 1)
n = 10 -- number of characters to show
m = 1 -- minimum (map (length . show) xs) for some type of xs
foo :: a -> [Char]
foo = take n . unpack . show . take ((n+m-1) `div` m) . someEnumeration
where
someEnumeration :: a -> [a]
someEnumeration = undefined
take
,但你明白了。
关于haskell - 在 Frege 中表达渴望但在 Haskell 中很懒惰?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11962844/
因此,即使更好的解决方案即将出现,急切搜索也是您采用初始解决方案的地方...... 急切搜索的反义词是什么?我所有的谷歌搜索结果都让我引用了 Paul Revere 的骑行。在这些困惑和不确定的时代,
这个问题已经有答案了: Why is this static final variable in a singleton thread-safe? (4 个回答) 已关闭 4 年前。 如果我使用 st
我尝试在 Eager 模式下使用 Tensorflow 计算梯度,但是tf.GradientTape () 仅返回 None 值。我不明白为什么。梯度在 update_policy() 函数中计算。
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我需要使用 Hibernate 从 clob Oracle 列中获取一个字符串, 没有延迟加载,也没有使用 Criteria 查询。它目前返回一个代理类(例如 $Proxy30),但我需要一个字符串(
我是一名优秀的程序员,十分优秀!