- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想构建一个自定义方法Array#drop_every(n)
(我知道这是猴子修补,我这样做是为了做功课),它返回一个新数组,省略每个第 n 个元素:
[4, 8, 15, 16, 23, 42].drop_every(2) # [4, 15, 23]
我想用 Array#delete_if
来实现它,但是通过引用索引而不是元素本身,(类似于 each_index
)是这样的:
def drop_every(step)
self.delete_if { |index| index % step == 0 }
end
我该怎么做?我不坚持使用delete_if
,我也看了drop_while
和reject
,欢迎其他建议。
最佳答案
您可以使用 with_index
方法返回枚举数,过滤您的集合,然后删除索引。
class Array
def drop_every(step)
self.each.with_index.select { |_, index| index % step == 0 }.map(&:first)
end
end
[4, 8, 15, 16, 23, 42].drop_every(2) # => [4, 15, 23]
关于ruby - 如何引用 Array#delete_if 中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19317782/
我试图使用elasticsearch为我的Rails应用添加搜索。 所以我写了这段代码,但是在提交搜索查询后,我遇到了这个错误:“我的搜索查询”的未定义方法`delete_if':字符串 产品 Con
这段代码: string="abacdb" string=string.split("") string.delete_if{|x| x==string[0]} puts(string) 返回 ["b
我有一个数组,我想执行 delete_if在该数组的一个子集(任何 n 项)上(并且它修改内存中的数组) 有了完整的阵列我可以做到 array.delete_if do |item| should
作为 Ruby 的新手,我对 .reject 之间的区别有疑问!和 .delete_if 处理哈希和数组时的方法。如果只是想摆脱某些对象,这些方法在功能上有什么区别吗?以及为什么要使用一个而不是另一个
为什么在这段代码之后输出是:[9.5]?我的意思是..为什么delete_if方法甚至从我的数组中删除我的“a”? x = [1, 2, 3, 'a', 9.5] x.delete_if{ |elem
为什么在这段代码之后输出是:[9.5]?我的意思是..为什么delete_if方法甚至从我的数组中删除我的“a”? x = [1, 2, 3, 'a', 9.5] x.delete_if{ |elem
我有一个数组 array_hash = [ { "array_value" => 1, "other_values" => "whatever", "inner_value
从哈希 relations 我想删除一些条目并将我删除的条目保留在另一个哈希 obj 中。 我找到了 Hash.delete_if 并做了: obj = relations.delete_if{|k,
我想构建一个自定义方法Array#drop_every(n)(我知道这是猴子修补,我这样做是为了做功课),它返回一个新数组,省略每个第 n 个元素: [4, 8, 15, 16, 23, 42].dr
Some_hash.delete_if {|key, value| key == "at" || key == "with" || key == "from"} 我只包括了 3 个 or,但我有一个
当我在 ruby 中有一个数组时,我可以在其上运行 delete_if block 。问题是它从我的数组中删除了元素。我想要相同的功能,只是不对原始数组进行更改,而是返回一个删除了对象的新数组。
words.delete_if do |x| x == ("a"||"for"||"to"||"and") end words 是一个包含很多单词的数组。我的代码删除了“a”,但没有删除“for”
根据 Ruby Hash/Array 文档,如果没有给出 block ,delete_if 方法返回一个枚举器。这有什么用?有人可以举例说明这种模式吗? 最佳答案 在 Enumerator 上定义了一
我为你们准备了一个简单的。 我想要一个特色内容部分,其中排除了当前文章 所以这可以通过 delete_if 使用 Middleman Blog: 但是我使用的是中间人代理,所以我无法访问 c
我想从 Active Record 集合中删除元素,为此我尝试使用 delete_if。以下是我的收藏: categories = Category.all groups = Group.all
好的,我正在使用 RestClient 并发送: {"x_select_params":["account.*"],"domain":"thedomain"} 通过 response = RestCl
我正在研究 acts_as_taggable_on 插件,但有些东西我无法真正理解(即使它只是一个非常简单的代码行)。 puts "before: " + cache.inspect# cache.d
对于 Ruby 中的 Hash,reject! 和 reject 与 delete_if 有何不同?谁能用简单的代码片段解释它们之间的区别? 最佳答案 由于其他答案指的是 Array#delete_i
我是一名优秀的程序员,十分优秀!