Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Ruby对数组中的唯一值进行排序_Ruby - Fatal编程技术网

使用Ruby对数组中的唯一值进行排序

使用Ruby对数组中的唯一值进行排序,ruby,Ruby,有没有一种方法可以在Ruby中编写一个方法,它接受一个项目数组,并返回一个没有任何重复项的数组。不使用Ruby的uniq方法 因此,这个数组的输出[1,5,“青蛙”,2,1,3,“青蛙”]将是[1,5,“青蛙”,2,3]我的数组=[1,5,“青蛙”,2,1,3,“青蛙”] my_array = [1, 5, "frog", 2, 1, 3, "frog"] uniques = [] my_array.each do |x| uniques << x unless uni

有没有一种方法可以在Ruby中编写一个
方法
,它接受一个项目数组,并返回一个没有任何重复项的数组。不使用Ruby的
uniq
方法

因此,这个数组的输出
[1,5,“青蛙”,2,1,3,“青蛙”]
将是
[1,5,“青蛙”,2,3]
我的数组=[1,5,“青蛙”,2,1,3,“青蛙”]
 my_array = [1, 5, "frog", 2, 1, 3, "frog"]
 uniques = []

 my_array.each do |x|
   uniques << x unless uniques.include?(x)
 end
uniques=[] 我的|数组。每个都有| x|
uniques由于使用括号而不是大括号来表示块,因此您得到了一个意外的输入结束。尝试:

my_array.to_a.select{ |i| i != i }
但即使这样也不是你所期望的。这里有一个替代方案:

my_array.group_by{|item| item}.keys

希望帮助

选择
块应该使用
{…}
开始-请发布至少编译成功的代码表示:
i!=i
始终返回
false
。您没有进行任何排序。并且
到a
是多余的。@m-alow我已回滚您的编辑,因为错误的括号导致了“输入意外结束”错误。您错过了排序部分。似乎他正在尝试实现它这是我与您的代码引用的最后一个代码,它工作得非常完美:
def uniques(my|u数组)my|u数组。按{item{item}分组。键结束放置uniques([1,5,“frog”,2,1,3,“frog”)
嘿,伙计,很高兴收到您的回复。听说我能帮助你,我很高兴。祝你今后一切顺利!小心,想知道是什么导致了它-对这个问题投5票你错过了排序部分。这个结果与
数组#uniq
有何不同?除此之外,考虑使用<代码>数组γ注入/<代码>,而不是PHPISH附加到预先存在的ARARY.BTW,可以使用<代码>,除非而不是<代码>!代码>