gpt4 book ai didi

ruby - 匹配 rails 中的数组项

转载 作者:太空宇宙 更新时间:2023-11-03 17:26:48 25 4
gpt4 key购买 nike

我有两个数组,我想查看数组中各个项目之间的匹配总数。

例如数组:

1 -- 房子、狗、猫、车2 -- 猫、书、盒子、汽车

将返回 2。

有什么想法吗?谢谢!

编辑/

基本上我有两种形式(针对两种不同类型的用户),它们使用嵌套属性来存储他们拥有的技能数量。我可以通过打印出技能

current_user.skills.each do |skill| skill.name

other_user.skills.each do |skill| skill.name

当我打印出数组时,我得到:#<Skill:0x1037e4948>#<Skill:0x1037e2800>#<Skill:0x1037e21e8>#<Skill:0x1037e1090>#<Skill:0x1037e0848>

所以,是的,我想比较两个用户的技能并返回匹配的数字。感谢您的帮助。

最佳答案

这个有效:

a = %w{house dog cat car}
b = %w{cat book box car}
(a & b).size

文档:http://www.ruby-doc.org/core/classes/Array.html#M000274

要使用名称将类转换为数组,请尝试类似的操作:

class X
def name
"name"
end
end
a = [X.new]
b = [X.new]
(a.map{|x| x.name} & b.map{|x| x.name}).size

在您的示例中,a 是 current_user.skills,b 是 other_users.skills。当 map 操作循环遍历数组时,x 只是对数组当前索引的引用。该操作记录在我提供的链接中。

关于ruby - 匹配 rails 中的数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6844634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com