Tag: 数组

在Ruby中对字符串数组进行排序

我在Ruby中学到了两种数组排序方法: array = [“one”, “two”, “three”] array.sort.reverse! 要么: array = [“one”, “two”, “three”] array.sort { |x,y| yx } 我无法区分这两者。 哪种方法更好,它们在执行方面究竟有何不同?

Ruby:如何将数组的元素与前缀一起加入?

我有一个像这样的数组: [“marblecake”, “also”, “the”, 1337] 我想找回一个字符串,其中包含以某个指定字符串为前缀的数组的每个元素,然后由另一个指定的字符串连接在一起。 例如, [“marblecake”, “also”, “the”, 1337].join_with_prefix(“%”, “__”) 应该导致 # => %marblecake__%also__%the__%1337 我怎么能这样做?

检查数组中两个不同数字的总和是否等于变量数?

在Ruby中,我想取一组数字,选择2个不同的数字,将这2个数字加在一起,看看那里的天气等于变量x的变量x。 这是我使用的代码 def arrayIsEqual? (numArray, x) return true if numArray.sample + numArray.sample == x return false if numArray.empty? || numArray.count == 1 end 例如 numArray = [4,2,7,5] x = 11 arrayIsEqual (numArray, n)应返回true ,因为4 + 7 = n(11) 我如何让它工作? 我不希望它是2个随机数,只是任意2个不同的数字加起来n

为什么Array.to_s返回括号?

对于数组,当我输入: puts array[0] ==> text 然而,当我打字 puts array[0].to_s ==> [“text”] 为什么括号和引号? 我错过了什么? ADDENDUM:我的代码看起来像这样 page = open(url) {|f| f.read } page_array = page.scan(/regex/) #pulls partial urls into an array partial_url = page_array[0].to_s full_url = base_url + partial_url #adds each partial url to a consistent base_url puts full_url 我得到的是: http://www.stackoverflow/[“questions”]

如何从Ruby数组中选择最长的字符串?

但是上面的[重复建议]是多维数组,而不是针对我在这里提出的更简单的情况。 例如,如果我有: ‘one’,’two’,’three’,’four’,’five’ 我想选择three因为它是最长的字符串。 我试过了: [‘one’,’two’,’three’,’four’,’five’].select{|char_num| char_num.size.max} 但是Enumerable #max不会返回正确的结果。

将String转换为字符串数组的最快方法

该脚本必须validation大量IP中是否存在一个预定义的IP。 目前我的代码function就像这样(说“ips”是我的IP数组,“ip”是预定义的ip) ips.each do |existsip| if ip == existsip puts “ip exists” return 1 end end puts “ip doesn’t exist” return nil 有没有更快的方法来做同样的事情? 编辑:我可能错误地表达了自己。 我可以做array.include吗? 但我想知道的是:array.include? 能给我最快结果的方法吗?

为什么我需要在数组之前使用星号?

我不知道这是一个哈希问题还是数组问题,但我不知道为什么在第三个例子中需要使用星号(*)来获得填充数据的哈希值。 没有它,它会输出一个空哈希。 # -*- coding: utf-8 -*- require ‘pp’ pp [[:first_name, ‘Shane’], [:last_name, ‘Harvie’]] # => [[:first_name, “Shane”], [:last_name, “Harvie”]] pp [[:first_name, ‘Shane’], [:last_name, ‘Harvie’]].flatten # => [:first_name, “Shane”, :last_name, “Harvie”] pp Hash[*[[:first_name, ‘Shane’], [:last_name, ‘Harvie’]].flatten] # => {:first_name=>”Shane”, :last_name=>”Harvie”} pp Hash[[[:first_name, ‘Shane’], [:last_name, ‘Harvie’]].flatten] # => {} 以下是该方法的说明。 ————————————————————— Hash::[] Hash[ [key =>|, value]* […]

Ruby Select和Reject在一个方法中

是否有任何内置方法将select的function(找到块等于true的所有内容)和reject(找到块等于false的所有内容)组合在一起? 就像是 good, bad = list.magic_method { |obj| obj.good? } NIH和其他所有这些都不会太难。 🙂

通过基于项的属性对对象数组进行分组来构建哈希

我想知道在ruby 1.9中是否有更规范的方法来做到这一点 我有一个包含一堆对象的数组,我想使用数组中每个对象的属性将它们分组为Hash。 很简单的例子: > sh = {} => {} > aers = %w(abcd ab bc de abc) => [“a”, “b”, “c”, “d”, “ab”, “bc”, “de”, “abc”] > aers.each do |aer| > sh[aer.size] = [] if sh[aer.size].nil? > sh[aer.size] < end => [“a”, “b”, “c”, “d”, “ab”, “bc”, “de”, “abc”] > sh => {1=>[“a”, “b”, […]

将一组键和一组值转换为Ruby中的哈希

我有两个像这样的数组: keys = [‘a’, ‘b’, ‘c’] values = [1, 2, 3] Ruby中有一种简单的方法可以将这些数组转换为以下哈希吗? { ‘a’ => 1, ‘b’ => 2, ‘c’ => 3 } 这是我的方式,但我觉得应该有一个内置的方法来轻松做到这一点。 def arrays2hash(keys, values) hash = {} 0.upto(keys.length – 1) do |i| hash[keys[i]] = values[i] end hash end