Tag: 数组

Ruby解压缩数组来阻止

settings = [ [‘127.0.0.1’, 80], [‘0.0.0.0’, 443] ] 我能怎么做: settings.each do |ip, port| … end 代替: settings.each do |config| ip, port = *config … end

当交叉完成时,顺序是否保留在数组中?

当我做两个数组的交集时,是否有任何保证结果顺序基于第一个数组的顺序? 例如,如果我有 a = [1,2,3] b = [3,2,1] 可以a & b返回[3,2,1] ,而不是[1,2,3] (这是我期望的)? 我无法在RDoc或者Pickaxe的Array文档中找到任何直接解决这个问题的东西。 RubySpec有一个规范,它创建一个包含元素的数组,以便它们首次遇到 ,但是我应该假设YARV Ruby会遵守该规范吗?

Ruby中字符串的平均次数

我有一个数组: array = [“0:00:31”, “0:00:52”, “0:01:05”, “0:00:55”, “0:01:33”, “0:00:05”, “0:00:01”, “0:05:10”, “0:02:40”, “0:03:03”, “0:01:33”, “0:00:00″] 我需要平均数组中不等于”0:00:00” 。 “0:00:00″应该被抛弃。 最好的方法是什么? 我正在循环遍历数组,删除所有0:00:00值,将字符串转换为整数并做一个平均值 – 但它似乎是我想要做的很多代码。

如何从字符串中剥离URL并将其放置为数组?

我正在构建一个小脚本,用于搜索服务推文的5张最新图片,隔离URL并将该URL放入数组中。 def grabTweets(linkArray) #brings in empty array tweets = Twitter.search(“[pic] “+” url.com/r/”, :rpp => 2, :result_type => “recent”).map do |status| tweets = “#{status.text}” #class = string url_regexp = /http:\/\/\w/ #isolates link url = tweets.split.grep(url_regexp).to_s #chops off link, turns link to string from an array #add link to url array #print linkArray #prints [] linkArray.push(url) print […]

如何在Ruby中生成正则表达式字符串匹配的百分比?

我正在尝试构建一个简单的方法来查看数据库中的大约100个条目以获取姓氏,并拉出所有匹配超过特定字母百分比的条目。 我目前的做法是: 将数据库中的所有100个条目拉入数组 在执行以下操作时迭代它们 将姓氏拆分为一个字母数组 从另一个数组中减去该数组,该数组包含我要匹配的名称的字母,只留下不匹配的字母。 取结果的大小,除以步骤3中数组的原始大小,得到一个百分比。 如果百分比高于预定义阈值,请将该数据库对象推送到结果数组中。 这有效,但我觉得必须有一些很酷的ruby / regex / active记录方法来更有效地做到这一点。 我google了很多但找不到任何东西。

如何深度合并由数组和散列组成的两个多根树结构

我有一个由Hash es和Array的嵌套结构,我们可以称之为多根nth-ary Tree。 我代表这个结构 这是一个例子: [:o, { a: :b, c: [:d, :e, { f: { h: :i, l: [:m, :n] } }] }] 代表可以用这个模式表示: oac / /|\ bdef /\ hl / / \ imn 我想深深地将它与另一个类似的结构合并。 这是一个例子: [:z, { o: :s, c: [:f, { d: :w }] }] zoc | / \ sfd \ w 生成的树应该是这样的: […]

将向量转换为整数

知道了多维数组的向量形状,我们如何将其转换为一维的新向量(通过展平多维数组)? 例如,考虑以下数组: arr = [ [ [ nil, nil ], [ nil, nil ], [ nil, nil ] ], [ [ nil, nil ], [ nil, nil ], [ nil, nil ] ] ] arr[0][0][0] = “A” arr[1][0][1] = “B” arr # => [ [ [ “A”, nil ], [ nil, nil ], [ nil, […]

从ruby中的哈希数组打印表到文件

我想把以下数组作为表输出到file.txt。 arr=[{:food=>””, :calories=>”Calories”, :carbs=>”Carbs”, :fat=>”Fat”, :protein=>”Protein”, :cholest=>”Sodium”}, {:food=>”New York Bagel Co – Wholemeal Bagels*, 90 g bagel”, :calories=>”223″, :fat=>”2″, :protein=>”9″, :cholest=>”360″}, {:food=>”Nescafe – Decaf Coffee With Semi Skimmed Milk, 1 mug”, :calories=>”12″, :fat=>”0″, :protein=>”1″, :cholest=>”0″}, {:food=>””, :calories=>”235″, :fat=>”2″, :protein=>”10″, :cholest=>”360″}] 我想要的结果是: Food Calories Fat Protein Cholest New York Bagel Co – Wholemeal Bagels*, 90 g […]

我可以覆盖`。`来指向数组的索引吗?

.表示将.解释为float而不是整数。 我可以覆盖.让它将索引指向一个数组,以便以下内容有效吗? c = [1, 2, 3, 4, 5, 6] c.0 # => 1 c.3 # => 4

有人可以解释为什么这种迭代嵌套数据结构的方式确实有效吗?

我想创建这个数组 [“studies”, “theory”, “form”, “animal”, “basic”, “processes”] 从以下嵌套数据结构(存储为sorted_hash ): [[“studies”, {:freq=>11, :cap_freq=>0, :value=>11}], [“theory”, {:freq=>9, :cap_freq=>1, :value=>11}], [“form”, {:freq=>9, :cap_freq=>1, :value=>11}], [“animal”, {:freq=>12, :cap_freq=>0, :value=>12}], [“basic”, {:freq=>10, :cap_freq=>1, :value=>12}], [“processes”, {:freq=>13, :cap_freq=>0, :value=>13}]] 我把它混淆为哈希并编写以下代码来实现我的任务: sorted_hash.each do |key,value| array.push key end 我真的得到了我想要的东西。 但经过一些思考和在Pry玩耍后,我想知道为什么。 each方法Ruby Doc for Arrays仅显示带有一个项变量的示例,如 each { |item| block } → ary 但我使用两个变量,就像我为哈希所做的那样。 Ruby会尝试匹配给定的项变量,在这种情况下成功,因为第二级数组的长度为2吗? […]