SultanC
  1. Home
  2. Examples
  3. Characters

Classifying and converting ASCII bytes

chars/ascii.sn
// Classifying and converting ASCII bytes.
import std.io.println;
import std.text.number;
import std.text.from_bytes;
import std.chars.ascii;

def main(): int {
    let text: vector u8 = bytes_from_text("SultanC 2026!");
    let digits: mutable uint = 0;
    let letters: mutable uint = 0;
    let upper: mutable vector u8 = [];
    let i: mutable uint = 0;
    while (i < (length(text) as uint)) {
        if (is_decimal_digit(text[i])) { digits := digits + 1; };
        if (is_latin_letter(text[i])) { letters := letters + 1; };
        append(upper, to_ascii_uppercase(text[i]));
        i := i + 1;
    }
    println(uint_to_text(digits));
    println(uint_to_text(letters));
    println(from_bytes(&upper));
    return 0;
}

Run it

With the interpreter, without compiling:

./build/sultanc run examples/en/chars/ascii.sn

Or compile it to an executable:

./build/sultanc examples/en/chars/ascii.sn -o build/example && ./build/example

Source on GitHub   All examples