gpt4 book ai didi

ruby - 'Array#each' 中的 If 语句仅在最后一个元素上返回 'true'

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

我正在为我的 discord 服务器编写一个机器人,我想将其用作脏话过滤器。我从一个文本文件中读取了一个坏词列表,并将它们存储在一个数组中。每当用户发送一条消息(在机器人正在收听的 channel 中)时,机器人就会检查该消息是否包含一个或多个这些坏词。为此,我使用以下代码:

badWords.each { |badword|
if content.downcase.include? badword
...
end
}

我的问题是,仅当消息内容中的坏词与数组中的最后一个匹配时,if 语句才返回 true。如果它匹配数组的任何其他元素,则返回 false

我误解了 Array#each 的任何功能吗?

最佳答案

尝试去除一个坏词,因为它可以在末尾有\n符号。

if content.downcase.include?(badword.strip)

关于ruby - 'Array#each' 中的 If 语句仅在最后一个元素上返回 'true',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46554441/

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