gpt4 book ai didi

ruby - 和/或运算符是 ruby ?

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

我有一个关于 Ruby 语法的快速问题:我正在尝试编写一个程序,它接受一个字符串,如果它包含初始子字符串,则用不同的子字符串替换子字符串。这是我的代码:

print "Thtring, pleathe!"

user_input = gets.chomp

if user_input.include? "s" || "S" || "cy" || "ce" || "ci"

user_input.gsub!(/s/, "th")
user_input.gsub!(/S/, "Th")
user_input.gsub!(/cy/, "th")
user_input.gsub!(/ce/, "th")
user_input.gsub!(/ci/, "th")
else

puts "No 's' found!"
end

puts "#{user_input}!"

在我有一个不包含“s”的句子之前,它工作正常。然后它只打印原始字符串而不做任何更改。在 Ruby 中是否有表示 AND/OR 的逻辑运算符?将所有 OR (||) 替换为。如果没有,我将如何重写它以使其工作?

最佳答案

你现在做的是有效的

if user_input.include?("s") || "S" || "cy" || "ce" || "ci"

(注意添加的括号。)此外,您不能在 Ruby 中执行类似的操作 - || 运算符仅适用于 bool 表达式。

你有两个选择:

if user_input.include?("s") || user_input.include?("S") || user_input.include?("cy") || user_input.include?("ce") || user_input.include?("ci")

或者更整洁

if user_input =~ /s|S|cy|ce|ci/

关于ruby - 和/或运算符是 ruby ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27421667/

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