charcode 1.4.0 charcode: ^1.4.0 copied to clipboard
Constants for ASCII and common non-ASCII character codes. Integer constants corresponding to the code points of individual characters.
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source is governed by a
// BSD-style license that can be found in the LICENSE file.
part 'src/charcodes.dart';
void main() {
print(String.fromCharCodes([
_E,
_x,
_a,
_m,
_p,
_l,
_e,
_exclamation,
]));
if (!hasBalancedParentheses(
'(((a + b) + (c + d)) + (((e + f) + (g + h)) + i))')) {
print('Unbalanced!');
}
}
/// Check whether `(` and `)` are balanced in [input].
bool hasBalancedParentheses(String input) {
var openParenCount = 0;
for (var i = 0; i < input.length; i++) {
var char = input.codeUnitAt(i);
if (char == _lparen) {
openParenCount++;
} else if (char == _rparen) {
openParenCount--;
if (openParenCount < 0) return false;
}
}
return openParenCount == 0;
}