Balanced brackets: Difference between revisions

Content added Content deleted
(Added C#.)
m (→‎{{header|Ruby}}: String#<< is probably not better than String#+.)
Line 334: Line 334:
s = "[]" * i
s = "[]" * i


# Knuth shuffle
# There is no String#shuffle! method.
# This is a Knuth shuffle.
(s.length - 1).downto(1) do |a, b|
(s.length - 1).downto(1) do |a, b|
b = rand(a + 1)
b = rand(a + 1)
Line 340: Line 341:
end
end


puts((s =~ re ? " OK: " : "bad: ") << s)
puts((s =~ re ? " OK: " : "bad: ") + s)
end
end


["[[]", "[]]", "[letters]"].each do |s|
["[[]", "[]]", "[letters]"].each do |s|
puts((s =~ re ? " OK: " : "bad: ") << s)
puts((s =~ re ? " OK: " : "bad: ") + s)
end</lang>
end</lang>


Line 350: Line 351:
OK: []
OK: []
bad: ][][
bad: ][][
bad: ]][[][
bad: ][][][
bad: ]][[][[]
bad: ]]][[[][
bad: ]][[[[]][]
bad: ][]][][][[
bad: ][][]]][[[[]
bad: ][[][]]]][[[
OK: [[]][[[]]][][]
bad: ]][][[[]]][][[
bad: [[][][][]]][[][]
OK: [][[][][[][]]][]
bad: []]][]][[][[[][][]
OK: [[[[[]]][[][]]][]]
bad: [[]
bad: [[]
bad: []]
bad: []]