Tag: arrays

Ruby中的字符串到数组

我需要我的string : “—\n- aaaadddhh ddddggg\n- bbbdddddf ff ddd\n- cccf\n”转换为Ruby中的array 这就是我想要的: [“aaaadddhh ddddggg”, “bbbdddddf ff ddd”, “cccf”]

在Ruby中检查数组中的2个数字是否总和为0

我一直在解决这个问题几个小时,我不明白为什么我不能让它运行正常。 这种方法的最终游戏是在一个数组中有2个数字,当加在一起时等于零。 这是我的代码: def two_sums(nums) i = 0 j = -1 while i < nums.count num_1 = nums[i] while j < nums.count num_2 = nums[j] if num_1 + num_2 == 0 return "There are 2 numbers that sum to zero & they are #{num_1} and #{num_2}." else return "Nothing adds to zero." end end i […]

如何理解Ruby的.each和.map

我无法理解map与each map之间的差异,以及何时何地使用它们。 我读过“ 地图做什么? ”和“ Ruby Iterators ”但是想要一些澄清。 如果我有: z = [1,2,3].map {|x| x + 1} map获取数组z中的每个元素并为每个元素添加一个元素,但是除非我添加,否则它不会改变原始数组! 。 另一方面: y = [1,2,3].each {|x| x + 1} 返回[1,2,3] 。 这对我来说很困惑,因为: names = [‘danil’, ‘edmund’] names.each { |name| puts name + ‘ is a programmer’ } 收益: Danil is a programmer Edmund is a programmer 我的第二个例子中究竟发生了什么,不允许每个数组元素增加1 ,而在最后一个例子中,一个字符串被附加到数组中的所有内容? […]

如何检查数组中的所有元素是否出现不超过两次?

我正在使用Ruby 2.4。 假设我有一个字符串数组(这些字符串都是字符串式的(是一个字?)整数… [“1”, “2”, “5”, “25”, “5”] 如何编写一个函数,告诉我数组中的所有元素是否在数组中出现的次数不超过两次? 例如,这个数组 [“1”, “3”, “3”, “55”, “3”, “2”] 会返回false因为”3″会出现三次,但是这个数组 [“20”, “10”, “20”, “10”] 将返回true因为没有元素出现超过两次。

Ruby:如何将变量设置为0,或者如果已经设置,则增加1

我知道|| =运算符,但不认为它会帮助我…尝试创建一个数组来计算对象数组中“类型”的数量。 array.each do |c| newarray[c.type] = newarray[c.type] ? newarray[c.type]+1 ? 0 end 有没有更优雅的方式来做到这一点?

<<和+ =之间有什么区别?

我一直在玩数组,并且发现自己在理解以下代码时遇到了麻烦: first_array = [] second_array = [] third_array = [] # I initialized 3 empty arrays third_array < 1 first_array << third_array # 1..9 was loaded into first_array[0] second_array += third_array # 1..9 was loaded into second_array[0] puts first_array == third_array # false puts second_array == third_array # true puts first_array == second_array # false […]

在ruby中获取多维数组的维度

我刚开始学习ruby。 现在我需要弄清楚多维数组的维度。 我查看了所有数组方法的ruby-docs,但我找不到返回维度的方法。 这是一个例子: 对于[[1, 2],[3,4],[5,6]] ,维度应为2。 对于[[[1,2],[2,3]],[[3,4],[5]]] ,维度应为3。

如何在Ruby中制作可操作的数字网格

我想在Ruby中创建一个数字网格,提供这样的输出(不完全,但是关闭): 0 1 2 3 4 5 6 7 8 9 —————— 1 | 2 | 3 | 4 | 5 | 6 | 其中空格(坐标点)用随机数填充。 我还需要它可操作(例如,我可以很容易地找到一个点的值,给定它的坐标并改变它)。 我一直在尝试使用数组,但还没有找到一个很好的方法将它组合在一起。 如何使用Ruby以高效的方式执行此操作? 非常感谢! 更新:我有一个像这样的数组: $array = [ # 0 1 2 3 4 5 6 7 8 [‘O’, ‘-‘,’ -‘,’-‘, ‘-‘, ‘-‘, ‘-‘, ‘-‘, ‘-‘], #0 [‘|’, ‘x’,’x’,’x’, ‘x’, […]

Ruby:将数组项传递给case语句

我试图将数组传递给case语句,以便我可以将数组元素作为命令读取。 不幸的是,似乎它没有工作,程序跳转到else语句。 def input_console() quit = 0 puts “Tell me what you want to do:” loop do print “\n >>> ” input = gets.chomp sentence = input.split case sentence when sentence[0] == “go” && sentence[1] == “to” puts sentence[2] when sentence[0] == “quit” quit = 1 else puts “No le entiendo Senor…” end break if […]

rails数组维护顺序

使用硬编码arrays array = [30,29,31,13,10,12,6,7,8,9,11] 试图执行查询 @pick = Item.where(‘id IN (?)’, array).to_a 所选项目的顺序如何保持初始数组的顺序?