RosettaCodeData/Task/Balanced-brackets/XBS/balanced-brackets.xbs

18 lines
478 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
const Chars:[string] = ["[","]"];
func GenerateString(Amount:number=4):string{
2026-02-01 16:33:20 -08:00
set Result:string = "";
<|(*1..Amount)=>Result+=Chars[math.random(0,?Chars-1)];
send Result;
2023-07-01 11:58:00 -04:00
}
func IsBalanced(String:string):boolean{
2026-02-01 16:33:20 -08:00
set Pairs:number = 0;
<|(*(0..(?String-1)))=>(String::at(_)=="[")?(Pairs<0)?=>send false,Pairs++,=>Pairs--;
send (Opens==Closes)&(Pairs==0);
2023-07-01 11:58:00 -04:00
}
repeat 10 {
2026-02-01 16:33:20 -08:00
set s = GenerateString(math.random(2,4)*2);
log(`{s}: {IsBalanced(s)}`);
2023-07-01 11:58:00 -04:00
}