// مجموعة البتات تخزن رايات كثيرة بنعم أو لا في ذاكرة قليلة.
استورد std.io.println;
استورد std.text.number;
استورد std.collections.bitset;
عرف الرئيسية(): عدد {
دع الرايات: متغير مجموعة_بتات = أنشئ_مجموعة_بتات(64);
أضف_إلى_مجموعة_البتات(&متغير الرايات, 3);
أضف_إلى_مجموعة_البتات(&متغير الرايات, 10);
أضف_إلى_مجموعة_البتات(&متغير الرايات, 63);
اطبع_سطر(طبيعي_إلى_نص(عدد_عناصر_مجموعة_البتات(&الرايات)));
إذا (تحتوي_مجموعة_البتات(&الرايات, 10)) { اطبع_سطر("البت 10 مضبوط"); };
إذا (!تحتوي_مجموعة_البتات(&الرايات, 11)) { اطبع_سطر("البت 11 غير مضبوط"); };
أرجع 0;
}// A bit set stores many yes/no flags in little memory.
import std.io.println;
import std.text.number;
import std.collections.bitset;
def main(): int {
let flags: mutable bit_set = new_bit_set(64);
bit_set_insert(&mutable flags, 3);
bit_set_insert(&mutable flags, 10);
bit_set_insert(&mutable flags, 63);
println(uint_to_text(bit_set_count(&flags)));
if (bit_set_contains(&flags, 10)) { println("10 is set"); };
if (!bit_set_contains(&flags, 11)) { println("11 is clear"); };
return 0;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/collections/bit_set.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/collections/bit_set.sn -o build/example && ./build/example