问题标签 [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.
.net - .NET 的 FileInfo.Length 属性是惰性的吗?
以下代码生成 FileNotFoundException(使用 .NET 2.0):
看起来 Length 属性是惰性的。有什么理由吗?这似乎是不一致的,因为其他属性并非如此。(有关反例,请参阅.NET FileInfo.LastWriteTime 和 FileInfo.LastAccessTime 错误。)
谢谢。
ruby - Ruby 中的惰性求值
我有 Ruby 的情况,可能需要创建一个对象,但不确定。而且由于对象的创建可能代价高昂,我并不太急于创建它。我认为这是延迟加载的明显案例。如何定义仅在有人向其发送消息时才创建的对象?该对象将在一个块中创建。有没有办法在 Ruby 中进行简单的延迟加载/初始化?这些东西是否受到某些 gem 的支持,它们为各种对象的延迟初始化情况提供不同的解决方案?感谢您的建议!
haskell - 通常在haskell中导致“错误C堆栈溢出”的原因
Hugs Haskell 实现中“错误 C 堆栈溢出”的常见原因是什么。
nhibernate - 休眠。在保存父级时启动保存收集
我在保存我的实体时遇到了问题。映射:
领域:
当我保存销售对象帐户集合时,不要保存在 sales_users 表中。我该怎么做才能保存它?请不要建议我在 List 中使用类
非常感谢。
c++ - RAII:在 const 方法中初始化数据成员
在RAII中,资源在被访问之前不会被初始化。但是,许多访问方法被声明为常量。我需要调用mutable
(非常量)函数来初始化数据成员。
示例:从数据库加载
我的原始解决方案是将数据成员声明为mutable
. 我宁愿不这样做,因为它表明其他方法可以更改成员。
我将如何load_from_database()
转换语句以消除编译器错误?
c++ - 如何创建一次评估局部静态变量的静态方法?
我有一个带有静态方法的类,它有一个局部静态变量。我希望该变量被计算/评估一次(我第一次调用该函数)并且对于任何后续调用,它不再被评估。怎么做?这是我的课:
编辑:
感谢大家的及时帮助。对所有人+1。我选择了 Tyler McHenry 的答案,因为它不需要任何比较,纯静态函数评估。我将需要此代码用于分配器,因此避免另一个“如果”应该更好。再次感谢!
编辑:
gf 的答案被证明是最好的答案,因为它在编译时处理分配并将程序从线程安全头痛和显式初始化中拯救出来。但是,我尊重以前的最佳答案。我将在此处给予信用,而不是更改刻度线。感谢大家的帮助!
list - Haskell,自然数列表
我是 Haskell 的绝对新手,但我试图了解它是如何工作的。
我想编写自己的惰性整数列表,例如 [1,2,3,4,5...]。
对于我写的列表
尝试后,效果很好:
我怎样才能为增加整数做同样的事情?
我已经尝试过了,但它确实失败了:
在那之后,我怎样才能制作一个将两个流相乘的方法?如:
programming-languages - 非升降式产品的缺点?
在 Haskell 中,提升类型产品意味着 (a,b,c) 和 (a, (b, c)) 之间存在语义差异。
如果所有产品的所有模式匹配总是无可辩驳的,那么就没有区别,并且 (a, b, c) 可以是 (a, (b, c)) 的语法糖。
Haskell 为什么选择升降式产品?
ruby - Ruby 中有类似 Python 生成器的东西吗?
我是 Ruby 新手,有没有办法yield
从 Ruby 函数中获取值?如果是,如何?如果没有,我有什么选择来编写惰性代码?
ruby - 如何创建无限可枚举的Times?
我希望能够让一个对象在 Ruby 中将 Enumerable 扩展为一个无限的星期一列表(例如)。
所以它会产生:3月29日,4月5日,4月12日......等
如何在 Ruby 中实现这一点?