我有一个数组A.我想判断它是否包含重复的值.我该怎么做?

推荐答案

只需调用uniq(返回一个没有重复项的新数组),看看uniqed数组的元素是否比原始数组少:

if a.uniq.length == a.length
  puts "a does not contain duplicates"
else
  puts "a does contain duplicates"
end

请注意,数组中的对象需要以有意义的方式响应hasheql?,以便uniq正常工作.

Ruby相关问答推荐

是什么导致游戏对象中的命名错误?

RSpec 中有没有一种方法可以同时断言调用次数和参数列表?

有没有更好的方法来加入剩余不变的子列表?

如何使用正则表达式在字符串中查找特定匹配项

Sinatra + Bundler?

如果 Java 人go Scala,C# go F#,那么 Ruby 人go 哪里寻求函数式?

如何调试/显示使用 RestClient 发送的请求

在 ruby​​ 中调试第三方 gem 的最佳方法

如何使用 if..else 块的结果分配变量?

YAML 每个缩进多少个空格?

在Ruby中第一个=符号之后获取子字符串

git,Heroku:预接收挂钩被拒绝

在现有 Jekyll 安装中切换主题

什么是匹配不在行尾的字符串的正则表达式?

使用 Ruby 将大写字符串转换为标题大小写

rbenv install --list 不列出 2.1.2 版本

计算文件中的行数而不将整个文件读入内存?

获取Ruby中当前目录的父目录

在 Ruby 中使用元组?

将字符串与Ruby中的数字连接起来