// قراءة متغيرات البيئة ودليل العمل.
استورد std.io.println;
استورد std.env.environment;
عرف الرئيسية(): عدد {
دع اسم_المسار: نص = "PATH";
طابق متغير_بيئة(&اسم_المسار) مع
| نتيجة.نجح(اختياري.موجود(_)) -> { اطبع_سطر("المتغير PATH معرف"); }
| نتيجة.نجح(اختياري.لا_شيء) -> { اطبع_سطر("المتغير PATH غير معرف"); }
| نتيجة.خطأ(_) -> { أرجع 1; };
دع الاسم_المفقود: نص = "SULTANC_EXAMPLE_UNSET_VARIABLE";
طابق متغير_بيئة(&الاسم_المفقود) مع
| نتيجة.نجح(اختياري.لا_شيء) -> { اطبع_سطر("المتغير غير المعرف أُبلغ عنه بلا قيمة"); }
| _ -> { اطبع_سطر("غير متوقع"); };
طابق دليل_العمل() مع
| نتيجة.نجح(_) -> { اطبع_سطر("دليل العمل معروف"); }
| نتيجة.خطأ(_) -> { أرجع 2; };
أرجع 0;
}// Reading environment variables and the working directory.
import std.io.println;
import std.env.environment;
def main(): int {
let path_name: string = "PATH";
match get_environment_variable(&path_name) with
| result.ok(option.some(_)) -> { println("PATH is set"); }
| result.ok(option.none) -> { println("PATH is not set"); }
| result.err(_) -> { return 1; };
let missing_name: string = "SULTANC_EXAMPLE_UNSET_VARIABLE";
match get_environment_variable(&missing_name) with
| result.ok(option.none) -> { println("unset variable reported as none"); }
| _ -> { println("unexpected"); };
match current_directory() with
| result.ok(_) -> { println("working directory known"); }
| result.err(_) -> { return 2; };
return 0;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/env/environment.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/env/environment.sn -o build/example && ./build/example