Balanced brackets: Difference between revisions

Added XBS language
m (→‎{{header|Julia}}: Updated to Julia 1)
(Added XBS language)
Line 7,927:
The string '[[]][][]' is OK.
The string '[[[][[]]]]' is OK.
</pre>
 
=={{header|XBS}}==
<lang xbs>const Chars:[string] = ["[","]"];
func GenerateString(Amount:number=4):string{
set Result:string = "";
<|(*1..Amount)=>Result+=Chars[math.random(0,?Chars-1)];
send Result;
}
 
func IsBalanced(String:string):boolean{
set Pairs:number = 0;
<|(*(0..(?String-1)))=>(String::at(_)=="[")?(Pairs<0)?=>send false,Pairs++,=>Pairs--;
send (Opens==Closes)&(Pairs==0);
}
 
repeat 10 {
set s = GenerateString(math.random(2,4)*2);
log(`{s}: {IsBalanced(s)}`);
}</lang>
{{out}}
<pre>
][]][]: false
][]]]]: false
][][: false
[[[[]][]: false
[[][]]: true
[[]]: true
]][][][[: false
[][]: true
][[[[]: false
[]]][]: false
</pre>
 
Anonymous user