gpt4 book ai didi

ruby - 检查字符串中数组中的值

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

我正在创建一个外卖餐厅数据库,每个商店的 Managers 都可以访问它。名为 Product 的数据库表之一,它有一个名为 product_name 的列。 product_name 是一个包含多个单词的字符串。我正在尝试检查 product_name 是否包含肉类,然后告诉用户它是否适合素食者。

这是我的代码。我试图创建一个 meats 数组,并根据它检查 product_name。我认为 if not 语句不正确。

class Checkveg
def self.runcheck(product_name)
meats = ["lamb", "beef", "pork", "prawn", "chicken", "fish"]
meats.each { |item|
if product_name.include? item
puts "Not suitable for vegans or vegetarians"
end
}
puts "Suitable for vegans or vegetarians" if not meats.include? product_name
end
end

**更新:

我能够修复它

noVeg = false
meats = ["lamb", "beef", "pork", "prawn", "chicken", "fish"]
meats.any? { |item|
if product_name.include? item
noVeg = true
break
end
}
if noVeg == true
puts "Not suitable for vegetarians"
else
puts "Suitable for vegetarians"
end

最佳答案

您没有正确使用 any? 方法。您应该像这样使用它的返回值:

#!/usr/bin/env ruby

meats = ["lamb", "beef", "pork", "prawn", "chicken", "fish"]

product_name = "Beef curry"

noVeg = meats.any? do |item|
product_name.downcase.include? item
end

if noVeg == true
puts "Not suitable for vegetarians"
else
puts "Suitable for vegetarians"
end

我还添加了 downcase 因为在上面的评论中你用大写字母 b 写了 beef。

关于ruby - 检查字符串中数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55196743/

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