32 lines
850 B
Text
32 lines
850 B
Text
bundle Default {
|
|
class Balanced {
|
|
function : IsBalanced(text : String) ~ Bool {
|
|
level := 0;
|
|
each(i : text) {
|
|
character := text->Get(i);
|
|
if(character = ']') {
|
|
if(level = 0) {
|
|
return false;
|
|
};
|
|
level -= 1;
|
|
};
|
|
|
|
if(character = '[') {
|
|
level += 1;
|
|
};
|
|
};
|
|
|
|
return level = 0;
|
|
}
|
|
|
|
function : Main(args : String[]) ~ Nil {
|
|
": "->Print(); IsBalanced("")->PrintLine();
|
|
"[]: "->Print(); IsBalanced("[]")->PrintLine();
|
|
"[][]: "->Print(); IsBalanced("[][]")->PrintLine();
|
|
"[[][]]: "->Print(); IsBalanced("[[][]]")->PrintLine();
|
|
"][: "->Print(); IsBalanced("][")->PrintLine();
|
|
"][][: "->Print(); IsBalanced("][][")->PrintLine();
|
|
"[]][[]: "->Print(); IsBalanced("[]][[]")->PrintLine();
|
|
}
|
|
}
|
|
}
|