加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby:Case-Insensitive Array Comparison

发布时间:2020-12-17 03:44:29 所属栏目:百科 来源:网络整理
导读:刚发现这个比较实际上是区分大小写的.任何人都知道一种不区分大小写的方法来完成同样的比较吗? CardReferral.all.map(:email) - CardSignup.all.map(:email) 解决方法 我不认为有任何“直接”方式,如减号运算符,但如果你不介意以小写字母获得所有结果,你可
刚发现这个比较实际上是区分大小写的.任何人都知道一种不区分大小写的方法来完成同样的比较吗?

CardReferral.all.map(&:email) - CardSignup.all.map(&:email)

解决方法

我不认为有任何“直接”方式,如减号运算符,但如果你不介意以小写字母获得所有结果,你可以这样做:

CardReferral.all.map(&:email).map(&:downcase) - CardSignup.all.map(&:email).map(&:downcase)

否则,您必须使用find_all手动进行比较或拒绝:

signups = CardSignup.all.map(&:email).map(&:downcase)
referrals = CardReferral.all.map(&:email).reject { |e| signups.include?(e.downcase) }

我建议阅读Ruby的标准类型的参考可能会帮助你提出这样的代码.例如,“Programming Ruby 1.9”具有从第487页开始解释的Enumerable对象的所有方法(find_all在第489页).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读