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 |
||
# |
# 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: ") |
puts((s =~ re ? " OK: " : "bad: ") + s) |
||
end |
end |
||
["[[]", "[]]", "[letters]"].each do |s| |
["[[]", "[]]", "[letters]"].each do |s| |
||
puts((s =~ re ? " OK: " : "bad: ") |
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: ][[][]]]][[[ |
||
bad: ]][][[[]]][][[ |
|||
OK: [][[][][[][]]][] |
|||
OK: [[[[[]]][[][]]][]] |
|||
bad: [[] |
bad: [[] |
||
bad: []] |
bad: []] |