Tag: arrays

Ruby – 不会将文件加载到数组中

我有ruby的问题,它不会加载我已经指定的数组文件。 class Dancer def Initialize (couplenumber, score1, score2, score3, score4, score5, score6, score7) @couplenumber = couplenumber @score1 = score1 @score2 = score2 @score3 = score3 @score4 = score4 @score5 = score5 @score6 = score6 @score7 = score7 end def show() return “Couple Number: #{@couplenumber}. Scores: #{@score1}, #{@score2}, #{@score3}, #{@score4}, #{@score5}, #{@score6}, #{@score7}.” end end results […]

Ruby – 根据百分比插入数组

我有一个名为TestSubject的对象,我可以使用它来访问以下数据, name和percent我想根据百分比将名称插入到数组中。 例如, arr.push(TestSubject.name)基于arr.push(TestSubject.name)的百分比,在这种情况下它的puts TestSubject.percent #=> 90 这意味着此特定名称有90%的可能被推送到数组。 我怎么不知道如何用ruby语法编写它。 有任何想法吗?

与“Array #index”相比,`Array #include?`的目的是什么?

Array#include? 只提供比Array#index提供的信息更弱的信息,即当Array#index返回nil ,使用Array#include?的相应方法调用Array#include? 将返回false ,当Array#index返回一个整数时, Array#include? 返回true 。 此外,比较两者表明速度没有显着差异; 而Array#index通常比Array#include?显示更好的结果Array#include? : a = %w[boo zoo foo bar] t = Time.now 10000.times do a.include?(“foo”) end puts Time.now – t # => 0.005626235 t = Time.now 10000.times do a.index(“foo”) end puts Time.now – t # => 0.003683945 然后, Array#include?的目的是Array#include? ? 是不是所有使用它的代码都可以使用Array#index #index重写?

检查数组元素是否为2的幂

我遇到了编码挑战:检查给定的正数组是2幂,如果是,则返回1否则为0 。 前 输入: A=[2,3,4] 输出: A=[1,0,1] 输入: A =[1048,2048,1048576] 输出: A=[1,1,1] 我想出了这个function。 def checkPw (arr) arr.map{|a| a != 0 && (a%2==0)?1 :0 } end 这个函数通过了提供的测试,但我不确定它是否是干净的方法。 我想知道是否有更明确的方法来检查数组元素的function。

Ruby:计算数组中的唯一元素及其出现

Ruby中有一个方法接受一个数组,并计算所有唯一元素及其出现次数并将它们作为哈希传递回来吗? 例如 [‘A’,’A’,’A’,’A’,’B’,’B’,’C’].method > {‘A’ => 4, ‘B’ => 2, ‘C’ => 1} 这样的事情。

Ruby /避免在sort_by中为nil时出错

从这个问题 (@mudasobwa); input.sort_by { |h| sorter.index(h[:id]) } 在一些不幸的情况下; sorter.index(h[:id])返回nil,然后返回错误 一个人如何干净地避免这样的错误发生,同时对数组的其余部分进行排序?

通过定义的数组元素的子字符串从定义的范围返回子数组

我有一个排序的元素数组(唯一且不连续): array= [“AAA”, “BBB”, “CCC”, “DDD”, “EEE”] 我定义了一系列元素: range_1 = (“CC” .. “DD”) range_2 = (“B” .. “E”) 元素的范围只是引用array元素的字符串,但仅限于starts_with? 对于这些元素是true的。 例: “C”, “CC” and “CCC” in range – fits to “CCC” in array “D”, “DD” and “DDD” in range – fits to “DDD” in array range_1和range_2的预期结果如下: result_1 = [“CCC”, “DDD”] result_2 = [“BBB”, “CCC”, “DDD”, […]

计算两个数组之间重复元素的最有效方法

作为我在Ruby编写的一个非常基本的程序的一部分,我试图找到两个长度相等的数组之间共享元素的总数,但我需要包含重复。 我目前针对这种情况的示例代码如下: array_a = [“B”,”A”,”A”,”A”,”B”] array_b = [“A”,”B”,”A”,”B”,”B”] counter = 0 array_a.each_index do |i| array_a.sort[i] == array_b.sort[i] counter += 1 end end puts counter 我希望此实例中此比较的返回值为4,而不是2,因为两个数组共享2个重复字符(“A”两次,“B”两次)。 这似乎有效,但我想知道是否有更有效的解决方案来解决这个问题。 具体来说,是否有任何方法可供您考虑。 我和一个提出不同方法的人进行了交谈,但是我真的不明白这是如何适用的并且想要理解。 我对它的使用做了很多阅读,但我仍然不清楚它是如何合适的。 谢谢。 看看我的代码,我意识到它似乎不适用于我所描述的情况。

如何打印具有固定列宽的2D数组

我有一个数组: animals = [ [“cats”, “dogs”], [“verrylongcat”, “dog”], [“shortcat”, “verrylongdog”], [“cat”, “dog”] ] 而且我想很好地展示它。 是否有一种简单的方法可以使柱子固定宽度,所以我得到这样的东西: cats dogs verrylongcat dog shortcat verrylongdog cat dog animals只是一个例子,我的arrays也可能有3列,4列甚至更多。

检查数组中所有元素是否为零的方法是什么?

我想知道除了数组中的nil值之外是否还有其他内容。 arr = [nil, nil, nil, nil] # => true arr = [nil, 45, nil, nil] # => false 可以有任何类型的任何值(不仅是45 )。