کتابخانه‌ی استاندارد · سیستم و ابزار

مسیر پرونده filepath

روال‌های مسیر پرونده بدون نیاز به سیستم پرونده؛ همان کارهای بسته‌ی مسیر.

واردسازی مسیر پرونده

بسته‌ی مسیر پرونده فقط با رشته‌ها کار می‌کند و به سیستم پرونده دست نمی‌زند (به‌جز مسیر مطلق که پوشه‌ی جاری را لازم دارد). بسته‌ی مسیر روی همین ساخته شده است؛ هر کدام را که راحت‌ترید به کار ببرید.

پایاها و متغیرها

جداکننده Separator

پایا جداکننده: رشته = "/"
جداکننده‌ی بخش‌های مسیر: /.
filepath-Join.salam
واردسازی مسیر پرونده

روال ریشه:
    پ := مسیر پرونده.پیوند("projects"، "salam/main.salam")
    سرچاپ پ، مسیر پرونده.جداکننده
    سرچاپ مسیر پرونده.پوشه(پ)، مسیر پرونده.نام پایه(پ)، مسیر پرونده.پسوند(پ)، مسیر پرونده.نام بدون پسوند(پ)
    سرچاپ مسیر پرونده.نرمال سازی("a//b/./c/")، مسیر پرونده.پاک سازی("a/b/../c")
    سرچاپ مسیر پرونده.مطلق است("/usr/bin")، مسیر پرونده.مطلق است(پ)، مسیر پرونده.مطلق است(مسیر پرونده.مسیر مطلق(پ))
    سرچاپ مسیر پرونده.مسیر نسبی("/a/b"، "/a/b/c/d")
    سرچاپ مسیر پرونده.مسیر امن است("/srv"، "x/y")، مسیر پرونده.مسیر امن است("/srv"، "../etc")
    سرچاپ مسیر پرونده.اعتبارسنجی مسیر("a/b")
پایان
خروجیprojects/salam/main.salam / projects/salam main.salam .salam main a//b/./c/ a/c true false true c/d true false true

روال‌ها

نرمال سازی Normalize

روال نرمال سازی(p: رشته): رشته
جداکننده‌های \ را به / تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

مطلق است IsAbs

روال مطلق است(p: رشته): منطقی
اگر مسیر مطلق باشد، درست برمی‌گرداند؛ مسیرهای ویندوز مثل C:/ هم مطلق‌اند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

پیوند Join

روال پیوند(a: رشته، b: رشته): رشته
دو بخش مسیر را پیوند می‌زند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

نام پایه Base

روال نام پایه(p: رشته): رشته
نام آخرین بخش مسیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

پوشه Dir

روال پوشه(p: رشته): رشته
مسیر بدون آخرین بخش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

پسوند Ext

روال پسوند(p: رشته): رشته
پسوند، همراه با نقطه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

نام بدون پسوند Stem

روال نام بدون پسوند(p: رشته): رشته
نام آخرین بخش بدون پسوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

پاک سازی Clean

روال پاک سازی(p: رشته): رشته
مسیر را ساده می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

مسیر مطلق Abs

روال مسیر مطلق(p: رشته): رشته
مسیر را مطلق می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

مسیر نسبی Rel

روال مسیر نسبی(base: رشته، target: رشته): رشته
مسیر نسبی از base تا target.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

اعتبارسنجی مسیر Validate

روال اعتبارسنجی مسیر(p: رشته): منطقی
اگر مسیر خالی نباشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam

مسیر امن است IsSafe

روال مسیر امن است(base: رشته، p: رشته): منطقی
اگر مسیر درون base بماند، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: filepath-Join.salam