- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想遍历数组的一部分。例如,我尝试打印除第一个元素之外的每个元素:
array[1..-1].each {|e| puts e}
但是 array[1..-1]
构建了一个新的 Array
。如果 array
非常大,那就太浪费了。另一种直接的方法:
(1...array.size).each { |i| puts array[i] }
它有效。但我想知道是否有一些更优雅的技巧。
最佳答案
Ruby 2.0 将发布 Lazy enumerables (好消息!),现在我们可以使用像 enumerable-lazy 这样的 gem 来预热引擎。 :
require 'enumerable/lazy'
xs.lazy.drop(1).each { |x| puts x }
这还不错,但从概念上讲它并不完全适用于您的情况,因为您已经有了一个数组,而不是您必须遍历以丢弃元素的惰性对象(链表)(好吧,我们只是丢弃一个元素在这里,它不会是一个交易破坏者)。因此,如果您打算经常使用它,您可以将您的解决方案(使用范围的那个)抽象为 Enumerable#each_from(start_index)
。
更多:您还可以创建 enumerable-lazy Array#lazy_slice(range)
的扩展,它将返回一个 Enumerable#lazy
目的。它看起来也很不错:xs.lazy_slice(1..-1).each { |x|放 x
关于ruby - 懒惰地遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865142/
嘿伙计们,我正在尝试删除最后一个 _1.jpg 如果它存在于我的表达中,但我遇到了一些麻烦 场景如下。 image_name_1.jpg(应该是image_name.jpg) image_name_1
对lazy="extra"究竟能做什么,有没有很好的解释? 我看过的所有帖子都只是重复了一个事实,即它会引用 MyObject.ItsCollection.Count进入 select count(*
我只在需要时加载 Google map 。在我重构代码之前,它的工作原理如下: function initialize_map_brand() { (...) } jQuery(document)
我编写了一个生成子集子集的函数。当我按以下方式使用子集[1..]时,它导致堆栈溢出。对于“正常”(非惰性)语言来说,这是“正常”行为。现在,我想改进我的懒惰功能。 附注我不理解懒惰(我试图理解它)所以
我正在尝试伪造对带有 out 参数的方法的调用,其中包含带有一些基本逻辑的 ReturnsLazily。理想情况下,我可以根据 ReturnsLazily 通过 AssignsOutAndRefPar
以下量词在场景、速度等方面有何不同。 ?、?? 和 ?+ 都匹配 0 或 1 次。 *, *?和*+` 都匹配0 次或更多次。 +、+? 和 ++ 都匹配1 次或多次。 ?、* 和 + 是贪心。 ??
我有以下代码: @Entity public class Foo { @OneToMany(mappedBy = "Foo", fetch = FetchType.LAZY) @Cascade
你如何使用正则表达式在 Stata 中实现非贪婪匹配?或者Stata甚至有这种能力? 我想提取出现在主题标签“#”和句点“.”之间的所有文本。 示例代码: clear set obs 3 genera
我有以下 Haskell 程序用于计算整数字符串的最大和子串: {-# LANGUAGE BangPatterns #-} {-# OPTIONS_GHC -O2 #-} import Data.Fu
我想记住如何在懒球拍中进行动态编程。解决了Euler项目的问题之一后,我开始感到奇怪: 从下面的三角形的顶部开始并移至相邻的三角形 在下面的行中,数字从上到下的最大值为23。 3 7 4
我是 Hibernate 对象持久化方面的新手。我正在读一本书,试图了解惰性设置为 false、急切和立即获取之间的区别,但我没有看到任何区别。有什么帮助吗?? 提前致谢! 最佳答案 立即获取和急切获
我正在使用Hibernate做映射。我的一个类有一组long。我想在获取此对象时将 lazy 设置为 true。如果我获取一个对象并在一段时间后使用其中的集合,会导致问题吗? 最佳答案 lazy 属性
所以我知道按需求调用只是按名称调用的内存版本。在 Martin Odersky 在 Coursera 上的 FP 类(class)的第 7.3 课(惰性评估)中,他提到如果使用按名称调用来实现 Str
语境 以下代码无限循环: (defn ex13 [] (take 5 (run* [x] (listo (lcons `a (lcons `b (lcons `c x
我刚开始学习 Haskell。下面是一些用命令式编写的代码,它实现了一个简单的服务器——它打印出 HTTP 请求 header 。除了我需要在 Haskell 中重新考虑它以使用惰性列表和高阶函数这一
据我了解,Racket 有严格的即急切的评估,但可以选择惰性评估。我对函数式语言所做的有限阅读表明,惰性求值语言通常可以更具表现力,因此为所有 Racket 程序选择惰性求值选项是否存在任何“技术”缺
这个问题在这里已经有了答案: Reference - What does this regex mean? (1 个回答) 关闭 1 年前。 最近,在网络*的某个地方,我找到了正则表达式的引用,它描
有谁知道关于以下主题的“现有技术”: 我有需要一些时间才能加载的数据。它们是各种股票的历史水平。 我想以某种方式预加载它们,以避免使用我的应用程序时出现延迟 但是,在开始时将它们分块预加载会使我的应用
我想知道的是:如果有一个基类,那么在 C++ 中每个*其他类继承自是不是一个好主意。基本上,它与 C# 的 Object 具有相同的接口(interface),即: *直接接口(interface)和
我正在尝试实现自己的 boolean 类,但无法为 && 复制 native 语义。以下人为设计的代码演示了该问题: #include > class MyBool { pub
我是一名优秀的程序员,十分优秀!