メソッド 'valid_string?' を記述します。文字列を受け入れる。角かっこ、かっこ、中かっこが正しく閉じている場合は true を返します。それ以外の場合は false を返します。
valid_string?("[ ]") # returns true
valid_string?("[ ") # returns false
valid_string?("[ ( text ) {} ]") # returns true
valid_string?("[ ( text { ) } ]") # returns false
私のコード: すべてに対して false を返しています。個々のケースに明示的なブール値を使用してみました {} || () || などは機能しませんでした。すべてに対して true または false を返します。それは私のドライバーコードですか?
def valid_string?(str)
if str == ("\[\s+]")
true
else
false
end
end
更新されたソリューション:----------------------------------------------- - はい!#マッチは間違いなくうまくいきました! 私のテストコードの最後の行はtrueと評価されていますが。false にする必要がある場合。. .
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 ) {} ]") # returns true
puts valid_string?("[ ( text { ) } ]") # returns false