Tag: arrays

在Ruby中比较包含字符串字符串的两个数组

如果我的代码关闭,请原谅我。 我仍然掌握在Ruby on Rails中,这似乎有微妙的差异,因为我学到更多“只是Ruby”,尽管公平地说我不确定我的代码是否会以Ruby on Rails格式通过。 我离题了。 我试图比较两个包含一组字符串的数组。 我想做几件事。 1)确保数组的单词数相同,否则练习没有实际意义。 2)将数组中的第一个字与第二个数组中的第一个字进行比较。 换句话说,我从不想比较数组“a”中的单词1和数组“b”中的单词4。 我正在努力找到一个解决方案,重新排序任何给定单词中的字符,将其与第二个数组中相应单词中的重新排序字符进行比较,如果它是一个字谜,则打印1(一旦排序,这个想法就是两个单词如果它们不匹配,则为0或0。 在下面的示例中,我想要打印的是: 0 0 1 1 ……但事情并没有发生。 思考? 我担心这与局部变量问题有关,但我不确定。 a = [‘hello’, ‘goodbye’, ‘pants’, ‘baa’] b = [‘helio’, ‘godbye’, ‘spant’, ‘aba’] x = a.length y = b.length z = 0 x = y? do while z < x do if a.find(z).chars.sort.join == b.find(z).chars.sort.join […]

如何将第一个元素移动到数组的末尾

将数组的第一个元素移动到同一个数组的末尾的最佳方法是什么? 即: [a,b,c,d] “一些操作” 结果: [b,c,d,a] 这个“一些操作”应该是什么?

在Ruby中测试重叠数组

假设我在Ruby中有一个数组数组, [[100,300], [400,500]] 我正在通过添加连续的CSV数据行来构建。 添加新子arrays时,最好的方法是测试子arrays中两个数字所覆盖的范围是否被任何先前的子arrays覆盖? 换句话说,每个子arrays在上面的示例中包括线性范围(100-300和400-500)。 如果我想要例如将[499,501]添加到数组中,因为会有重叠,我想要抛出exception,我怎么能最好地测试呢?

如何在Ruby数组的所有元素之间插入一个新元素?

我有一个数组,想要在所有元素之间插入一个新元素,就像join方法一样。 例如,我有 [1, [], “333”] 而我需要的是 [1, {}, [], {}, “333”] 请注意,在所有元素之间插入了新的空哈希。 编辑:目前我所拥有的是: irb(main):028:0> a = [1, [], “333”] => [1, [], “333”] irb(main):029:0> a = a.inject([]){|x, y| x << y; x < [1, {}, [], {}, “333”, {}] irb(main):030:0> a.pop => {} irb(main):031:0> a => [1, {}, [], {}, “333”] irb(main):032:0> 我想知道最好的方法。

过滤以从数组中排除元素

尝试过滤数组中的某些条目。 它不能保证它们在主数组中,因此我正在通过迭代进行测试。 total = [‘alpha’, ‘bravo’, ‘charlie’, ‘delta’, ‘echo’] hide = [‘charlie’, ‘echo’] pick = [] for i in total if !hide.include?(i) puts i pick.push(i) end end puts pick 这不起作用。 有没有更好的方法来提供这种filter?

Ruby在数组中找到下一个

反正有没有找到Ruby数组中的下一个项目? 码: # Find ALL languages if !debug lang = Language.all else lang = Language.where(“id = ? OR id = ?”, 22, 32) end # Get all elements elements = Element.where(“human_readable IS NOT NULL”) lang.each do |l| code = l.code.downcase if File.exists?(file_path + code + “.yml”) File.delete(file_path + code + “.yml”) end t1 = Time.now […]

Ruby Arrays – 查找对角线的总和

之前没见过这个,但我想知道如何在Ruby中找到2D数组的两个对角线的总和。 假设您有一个简单的数组,包含3行和3列。 array = [1,2,3,4,5,6,7,8,9] 我可以通过使用将其分为三组 array.each_slice(3).to_a 现在会 [1,2,3], [4,5,6], [7,8,9] [1,2,3] [4,5,6] [7,8,9] 在这种情况下,对角线是 1 + 5 + 9 = 15 3 + 5 + 7 = 15 所以总和将是15 + 15 = 30 我以为我可以做点什么 diagonal_sum = 0 for i in 0..2 for j in 0..2 diagonal_sum += array[i][j] end end

如何从Ruby 2.0中的字符串数组中获取值

我有这个字符串数组: array = [ “nike air”, “nike steam”,”nike softy” ,”nike strength”, “smooth sleeper”,”adidas air”,”addidas jogar”,”adidas softy”,”adidas heels”] 我想从中提取字符串作为SQL查询。 例如,如果用户输入单词“nike”。 然后应返回4个字符串作为结果 “nike air”, “nike steam”,”nike softy” ,”nike strength” 例如,如果用户输入单词“adidas”。 然后应返回4个字符串作为结果 “adidas air”,”addidas jogar”,”adidas softy”,”adidas heels” 可能吗?

如何改进用“`引用所有数组元素的代码并返回一个包含所有引用和逗号分隔元素的字符串?

我正在使用Rails 3.2.2,我想用’引用所有数组元素’并返回一个包含所有引用和逗号分隔元素的字符串。 这时我正在使用 [‘a’, ‘b’, ‘c’].collect {|x| “‘#{x}'”}.join(“, “) # => “‘a’, ‘b’, ‘c'” 但我认为我可以改进上面的代码(可能是通过使用我不知道的Ruby方法,如果它存在)。 可能吗?

Ruby二维数组:查找对象的坐标

假设,我有一个二维数组A ,并且它声明在其中的某个地方有一个对象my_element 。 找出坐标的最快方法是什么? 我使用的是Ruby 1.8.6。