写一个方法'valid_string?' 接受一个字符串.如果括号,括号和花括号正确关闭,则返回true.否则返回false.
valid_string?("[ ]") # returns true
valid_string?("[ ") # returns false
valid_string?("[ ( text ) {} ]") # returns true
valid_string?("[ ( text { ) } ]") # returns false
Run Code Online (Sandbox Code Playgroud)
我的代码:对所有事情都是假的.甚至尝试对个别情况{} ||使用显式布尔值 ()||等没有用.对于一切都返回true或false.这是我的驱动程序代码吗?
def valid_string?(str)
if str == ("\[\s+]")
true
else
false
end
end
Run Code Online (Sandbox Code Playgroud)
更新的解决方案:----------------------------------------------- - 是的!#match绝对更好!虽然我的最后一行测试代码正在评估为true.什么时候应该是假的...
def valid_string?(str)
if str.match "(\\[.+\\])" || "|(\\(\\))" || "|({})"
return true
else
return false
end
end
puts valid_string?("[ ]") # returns true
puts valid_string?("[ ") # returns false
puts valid_string?("[ ( text …Run Code Online (Sandbox Code Playgroud)