RosettaCodeData/Task/Balanced-brackets/Sidef/balanced-brackets.sidef

15 lines
332 B
Plaintext

func balanced (str) {
var depth = 0;
str.each { |c|
if(c=='['){ ++depth }
elsif(c==']'){ --depth < 0 && return false }
};
return !depth;
}
[']','[','[[]','][]','[[]]','[[]]]][][]]','x[ y [ [] z ]][ 1 ][]abcd'].each { |str|
printf("%sbalanced\t: %s\n", balanced(str) ? "" : "NOT ", str);
};