当str [0]为" a"和str [4]是" b"我明白了。然而,当" a"处于另一个位置,由" b"我弄错了。
任何帮助都会很棒!
def ABCheck(str)
str.downcase.split()
x = 0
while x < str.length - 4
return true if ((str[x] == "a") && (str[x + 4] =="b"))
x += 1
return false
end
end
puts ABCheck("azzzb")
#Currently puts "true"
puts ABCheck("bzzabzcb")
#Currently puts "false" - even though it should print true
答案 0 :(得分:4)
那是因为在您预期之前调用了return false
。它应该放在循环之外:
def ABCheck(str)
str.downcase.split()
x = 0
while x < str.length - 4
return true if ((str[x] == "a") && (str[x + 4] =="b"))
x += 1
end
return false
end
答案 1 :(得分:0)
在while循环完成之前,您正在调用false。你需要在while循环之后调用它。