lazy-evaluation相关内容

惰性分区-按

我有一个项源,希望单独处理具有相同键函数值的项的运行。在Python中,这将如下所示 for key_val, part in itertools.groupby(src, key_fn): process(key_val, part) 此解决方案完全是惰性的,即如果process不尝试存储整个part的内容,代码将在O(1)内存中运行。 Clojure解决方案 (dos ..
发布时间:2022-09-01 15:37:12 其他开发

懒惰地设置词典

假设我有一个在模块级别(mysettings.py)定义的python词典: settings = { 'expensive1' : expensive_to_compute(1), 'expensive2' : expensive_to_compute(2), ... } 我希望在访问密钥时计算这些值: from mysettings import set ..
发布时间:2022-03-26 18:02:52 Python

Java流惰性vs融合vs短路

我正在尝试对 Java 流 API 中惰性求值的应用形成简洁一致的理解. 这是我目前的理解: 元素仅在需要时被消耗,即流是惰性的,中间操作是惰性的,例如过滤器,仅在需要时过滤. 中间操作可以融合在一起(如果它们是无状态的). 短路操作不需要处理整个流. 我想做的是将所有这些想法整合在一起,并确保我没有歪曲任何内容.我觉得这很棘手,因为每当我阅读任何关于 Java 流的文献时, ..
发布时间:2022-01-22 10:00:04 Java开发

休眠映射设置lazy = 'false'

在休眠映射中,我设置了属性lazy="false",这会获取父级的所有子记录. 这将在整个应用程序中使用. 这会在我的应用程序的特定模块中产生性能问题,其中我只想获取父记录. 我无法将 lazy 属性更改为 true,因为它已在许多其他地方使用.有没有办法解决这个问题? 如果需要更多信息,请告诉我. 解决方案 hibernate 中没有这些功能,因为它尊重您的 lazy ..
发布时间:2022-01-20 14:34:04 其他开发

编写一个在初始化程序中提供自引用的 Kotlin util 函数

我正在尝试将我的技巧从另一个问题的答案中概括出来. 它应该提供一种方法来引用尚未在其初始化程序中构造的值(当然,不是直接,而是在 lambdas 和对象表达式中). 我现在拥有的: class SelfReference(val initializer: SelfReference.() -> T) {val self: T by 懒惰 {inner ?: throw I ..
发布时间:2022-01-18 23:40:55 其他开发

Prolog 是否使用 Eager 评估?

因为 Prolog 使用时间顺序回溯(来自 Prolog Wikipedia 页面)即使在找到答案之后(在此示例中只能有一个解决方案),这是否可以证明 Prolog 使用热切评估是合理的? mother_child(特鲁德,莎莉).父亲孩子(汤姆,莎莉).父亲孩子(汤姆,艾丽卡).父亲孩子(迈克,汤姆).兄弟(X,Y):-父子(Z,X),父子(Z,Y).父子(X,Y):-父子(X,Y).父子(X ..
发布时间:2022-01-12 10:31:06 其他开发

Prolog中的惰性列表?

Prolog 中是否可以有惰性列表?类似于以下内容: ones([1 | Y]) :- one(Y). 虽然这显然不像它所写的那样工作. 解决方案 Markus Triska placed here in public域一些代码值得学习: /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -P ..
发布时间:2022-01-12 09:56:32 其他开发

惰性求值与宏

我已经习惯了 Haskell 的惰性求值,现在我已经正确地使用了惰性求值,我发现自己对默认急切的语言感到恼火.这实际上是相当有害的,因为我使用的其他语言主要使懒惰地评估东西变得非常尴尬,通常涉及推出自定义迭代器等等.因此,仅仅通过获得一些知识,我实际上已经降低了在我的原始语言方面的工作效率.叹息. 但我听说 AST 宏提供了另一种干净的方式来做同样的事情.我经常听到诸如“懒惰评估使宏变得多余 ..
发布时间:2022-01-11 19:59:59 其他开发

Flexslider 延迟加载 - 仅在真正需要时才加载图像

这实际上只是对 Flexslider 延迟加载的回答这里使用我在下面粘贴的代码.我想对其进行更改,以便仅在真正需要时才加载图像. 我在之前和之后尝试了其他 Flexslider 属性,但它们在第一张幻灯片上造成了延迟?请问我能得到一些帮助吗? $('#slider').flexslider({开始:功能(滑块){//延迟加载$(slider).find("img.lazy").each(f ..

我如何应对惰性迭代器?

我正在尝试使用 map() 在迭代器上对数组进行排序. 结构 A {b:Vec B ,}#[derive(PartialEq, Eq, PartialOrd, Ord)]结构 B {c:Vec 132 ,}fn 主要() {让 mut a = A { b: Vec::new() };让 b = B { c: vec![5, 2, 3] };a.b.push(b);a.b.iter_mut().m ..
发布时间:2022-01-10 14:35:32 其他开发

Haskell中未定义长度列表的二进制序列化

我一直在使用 Data.Binary 将数据序列化为文件.在我的应用程序中,我逐渐将项目添加到这些文件中.两个最流行的序列化包,二进制和谷物,都将列表序列化为一个计数,然后是列表项.因此,我无法附加到我的序列化文件中.我目前读入整个文件,反序列化列表,附加到列表,重新序列化列表,然后将其写回文件.但是,我的数据集变得越来越大,并且我开始耗尽内存.我可能会四处拆箱我的数据结构以获得一些空间,但这种方 ..
发布时间:2022-01-09 19:57:12 其他开发

循环中生成的 insertUI 中的 observeEvent

当我使用 insertUI 以反应方式创建新对象时,我创建的所有观察者都可以正常工作,如您在以下虚拟代码中所见: 库(闪亮)# 定义用户界面ui 但是,如果我使用 for 循环创建相同的对象,则似乎只有最后创建的对象的观察者可以工作,如下例所示: 库(闪亮)# 定义用户界面ui 我做错了什么? 会不会和惰性求值有关? 解决方案 R中的for循环都运行在同一个范围内,这意味 ..
发布时间:2022-01-09 12:56:22 其他开发

Haskell 中未定义长度列表的二进制序列化

我一直在使用 Data.Binary 将数据序列化为文件.在我的应用程序中,我逐渐将项目添加到这些文件中.两个最流行的序列化包,二进制和谷物,都将列表序列化为一个计数,然后是列表项.因此,我无法附加到我的序列化文件中.我目前读入整个文件,反序列化列表,附加到列表,重新序列化列表,然后将其写回文件.但是,我的数据集越来越大,而且我的内存开始耗尽.我可能会四处拆箱我的数据结构以获得一些空间,但这种方法 ..
发布时间:2022-01-07 20:35:00 其他开发

Scala - 懒惰地对有序迭代器进行分组

我有一个 Iterator[Record],它在 record.id 上这样排序: record.id=1记录.id=1...记录.id=1记录.id=2记录.id=2..记录.id=2 特定ID的记录可能会出现很多次,所以我想写一个函数,把这个迭代器作为输入,并在一个Iterator[Iterator[Record]]输出中返回一个懒惰的方式. 我能够想出以下内容,但在大约 500K ..
发布时间:2022-01-07 20:24:45 其他开发