قالب بندی fmt
تبدیل عدد و مقدار منطقی به متن، همترازی متن و ساختن رشته از یک قالب.
واردسازی قالب بندی
وقتی میخواهید خروجی مرتب و خوانا بسازید، بستهی قالب بندی به کارتان میآید. با آن عددها را به متن تبدیل میکنید، متن را در ستونهایی با پهنای ثابت میچینید و جملهها را از یک قالب میسازید.
قالبها سادهاند: هر {} در قالب با عضو بعدی وکتور مقدارها پر میشود. چون مقدارها رشتهاند، عددها را پیش از آن با روالهایی مثل عدد صحیح به متن تبدیل کنید.
روالها
عدد صحیح Int
روال عدد صحیح(i: صحیح۶۴): رشتهواردسازی قالب بندی
روال ریشه:
سرچاپ "[" + قالب بندی.عدد صحیح(-۴۲) + "]"
سرچاپ "[" + قالب بندی.عدد بی علامت(۴۲ برگردان طبیعی۶۴) + "]"
سرچاپ "[" + قالب بندی.عدد اعشار(۳.۲۵) + "]"
سرچاپ "[" + قالب بندی.عدد اعشار با دقت(۳.۱۴۱۵۹، ۲) + "]"
سرچاپ "[" + قالب بندی.منطقی(درست) + "]"
سرچاپ "[" + قالب بندی.شانزده(۲۵۵ برگردان طبیعی۶۴) + "]"
پایانعدد اعشار Float
روال عدد اعشار(f: اعشار۶۴): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fmt-Int.salam
منطقی Bool
روال منطقی(b: منطقی): رشته"true" یا "false" تبدیل میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: fmt-Int.salam
پرکردن چپ PadLeft
روال پرکردن چپ(s: رشته، width: صحیح): رشتهwidth کوتاهتر باشد، سمت چپش فاصله میگذارد تا به آن پهنا برسد. پهنا بر حسب حرف شمرده میشود، پس برای متن فارسی هم درست کار میکند. در ستون عددها، این روال عددها را از راست همتراز میکند.واردسازی قالب بندی
روال ریشه:
سرچاپ "[" + قالب بندی.پرکردن چپ("42"، ۶) + "]"
سرچاپ "[" + قالب بندی.پرکردن راست("42"، ۶) + "]"
سرچاپ "[" + قالب بندی.وسط چین("42"، ۶) + "]"
سرچاپ "[" + قالب بندی.پرکردن چپ("سلام"، ۱۰) + "]"
پایانپرکردن راست PadRight
روال پرکردن راست(s: رشته، width: صحیح): رشتهپرکردن چپ، ولی فاصلهها را سمت راست متن میگذارد.نمونهی این مورد همراه با موارد بالاتر آمده است: fmt-PadLeft.salam
وسط چین Center
روال وسط چین(s: رشته، width: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fmt-PadLeft.salam
قالب رشته Sprintf
روال قالب رشته(tmpl: رشته، args: وکتور<رشته>): رشته{} را بهترتیب با عضوهای وکتور args پر میکند. اگر مقدار کم بیاید، جای خالیها تهی میمانند و مقدارهای اضافه نادیده گرفته میشوند.واردسازی قالب بندی
روال ریشه:
ناپایا مقدارها := وکتور {} برگردان وکتور<رشته>
دیرکن مقدارها.آزادکن()
مقدارها.بیفزا("سارا")
مقدارها.بیفزا(قالب بندی.عدد صحیح(۱۹))
سرچاپ قالب بندی.قالب رشته("{} نمرهی {} گرفت."، مقدارها)
پایانقالب نوشتن Fprintf
روال قالب نوشتن(f: پرونده*، tmpl: رشته، args: وکتور<رشته>): صحیحقالب رشته، ولی نتیجه را مستقیم در پروندهی باز مینویسد و تعداد بایتهای نوشتهشده را برمیگرداند.واردسازی قالب بندی
واردسازی ورودی خروجی
واردسازی سیستم عامل
روال ریشه:
ناپایا مقدارها := وکتور {} برگردان وکتور<رشته>
دیرکن مقدارها.آزادکن()
مقدارها.بیفزا("۲۵")
پ := سیستم عامل.بازکردن("دما.txt"، "wb")
قالب بندی.قالب نوشتن(پ، "دمای امروز {} درجه است\n"، مقدارها)
ورودی خروجی.بستن(پ)
چاپ ورودی خروجی.خواندن پرونده("دما.txt")
پایانعدد اعشار با دقت FloatPrec
روال عدد اعشار با دقت(f: اعشار۶۴، prec: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fmt-Int.salam
عدد بی علامت Uint
روال عدد بی علامت(u: طبیعی۶۴): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: fmt-Int.salam
شانزده Hex
روال شانزده(u: طبیعی۶۴): رشته0x.نمونهی این مورد همراه با موارد بالاتر آمده است: fmt-Int.salam