问题标签 [lazy-evaluation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
630 浏览

django - Django:AuditTrail 和惰性关系

我一直在尝试修改AuditTrail代码,使其不复制ForeignKey字段,而是复制相关字段(即,我不希望我的数据库表上的审计模型有外键)。

我写了一个copy_field看起来像这样的函数:

此代码在准备好具有该AuditTrail属性的模型时运行(通过class_prepared信号)。

ForeignKey但是,当 a与尚未准备好的模型上的字段相关时,这会遇到问题-get_related_field()调用将失败,因为field.rel.to是包含相关模型名称的字符串,而不是模型实例。

我不知道该怎么做才能解决这个问题。在我开始复制字段之前,我是否必须确定模型具有哪些依赖项,并等到它们都准备好?关于解决此问题的最佳方法的任何想法?

0 投票
7 回答
1164 浏览

orm - 什么时候惰性评估没有用?

延迟执行几乎总是一个福音。但是在某些情况下,它是一个问题,你诉诸“获取”(在 Nhibernate 中)来急切地获取它。

你知道懒惰评估会咬你的实际情况吗……?

0 投票
3 回答
442 浏览

c# - XML 序列化不会写出惰性求值属性

继上一个问题之后,我无法将建议的 Lazy<T> 泛型与我的 XML 序列化结合起来。

这是我用于 Lazy<T> 的功能:

现在MSDN 文档说在属性上有一个 [XmlElement("ElementName")] 很好,而且它确实似乎能够很好地反序列化。当我序列化一个对象时,问题就来了。我正在运行以下代码:

别处:

奇怪的是,这在调试器中运行良好,但在 XML 中没有输出任何元素。非 Lazy<T> 元素可以正常工作。有任何想法吗?

0 投票
3 回答
753 浏览

r - 提供参数的延迟评估

假设我有以下功能:

当我运行foo(1)时,返回的值为2,正如预期的那样。但是,我无法运行foo(1, y = max(m))和接收11,因为延迟评估仅适用于默认参数。我怎样才能提供一个论点但让它懒惰地评估?

0 投票
3 回答
386 浏览

haskell - 为什么 ghc 评估我的无限列表?

作为我的第一个 haskell 程序,我正在尝试这样做 - 这是获得 1 到 10 的艰难方法。我正在构建一个无限的整数列表,并对它们进行排序,然后取前 10 个。我的目的是说服自己我可以使用无限列表,而不会导致对它们的评估超出所需结果的严格要求(咳咳)。

我的代码是..

使用 ghc 编译并运行生成的可执行文件..它坐在那里分配直到被杀死。

有什么提示吗?

0 投票
4 回答
639 浏览

language-agnostic - 玩无穷大——懒惰的算术

许多现代编程语言允许我们处理潜在的无限列表并对它们执行某些操作。

示例 [Python]:

这样的列表可以存在,因为只计算实际需要的元素。(懒惰的评价)

我只是出于兴趣想知道是否有可能(甚至在某些语言中实践)将惰性求值机制扩展到算术。

示例:给定无限的偶数列表evens = [ x | x <- [1..], even x ] 我们无法计算

因为这里所需的计算永远不会终止。

但我们实际上可以确定

无需评估整个length术语。

这可以用任何语言实现吗?哈斯克尔呢?

编辑:为了更清楚地说明这一点:问题不在于如何确定惰性列表是否比给定数字短。它是关于以一种懒惰地完成数值计算的方式使用传统的内置函数。

sdcvvc 展示了 Haskell 的解决方案:

这在其他语言中也可以吗?

0 投票
1 回答
1557 浏览

scala - 在 scala 2.7.5 中对迭代器进行分区

看起来好像在 scala 2.7.5中没有partition方法(在 2.8 中有)。Iterator我想有一个分区而不会失去 的懒惰Iterator所以以下不是一个选项:

任何人都可以推荐一种在不实现我自己的方法的情况下执行此操作的partition方法吗?例如,是否有某种方法可以将 anIterator转换为 lazily-evaluate Stream

0 投票
1 回答
886 浏览

java - 是否有用于 SWT 的预制放大镜光标?

我想在我的 SWT 应用程序中使用“放大镜”(带有 + 和 -)光标。我知道为自己创建光标非常容易,我只是不想现在投入时间。有没有人可以使用的链接或带有“放大”和“缩小”光标的代码片段?

0 投票
1 回答
2830 浏览

hibernate - Hibernate:在标准中投影多对一

我最近第一次使用hibernate Criteria API。

我试图做相当于这个 HQL

“从任务 t 中选择 t.userTbl”

userTbl 属性是来自 Task 的多对一。Task.userTbl 关系是惰性的。

所以我想出了这个

不幸的是,这与 HQL 有所不同。

在 HQL 中,虽然 userTbl 关系在映射中设置为惰性,但 HQL 急切地获取并实现 UserTbl 的非代理对象。

然而,在标准中,我得到了一个我不想要的代理列表。我摆弄了 setFetchMode 但这似乎不是正确的事情。任何人都知道如何在标准中正确执行上述操作并像 HQL 一样获得非代理?

谢谢。

0 投票
3 回答
3313 浏览

optimization - 哈斯克尔。严格申请$!

我执行下一个代码:

它是什么 ?我想,ghc 会终止,因为我说“评估 [1,2..] 力”。但我得到了结果“[1,2,3,4,5,6,7,8,9,10]”。