درس ۱۰ از ۲۵ · روال‌ها

روال‌های بی‌نام

در سلام روال‌ها هم مقدارند: می‌توانید روالی بی‌نام بسازید، در متغیر بگذارید یا به روال دیگری بفرستید.

روال بی‌نام

شکل کوتاه (ورودی‌ها) => عبارت یک روال بی‌نام می‌سازد که نتیجه‌ی عبارت را برمی‌گرداند. برای بدنه‌ی چندخطی، پس از پرانتز دونقطه بگذارید و بلوک را با پایان ببندید.

lambda.salam
روال به‌کاربردن(ر: روال (صحیح) صحیح، مقدار: صحیح): صحیح:
    برگشت ر(مقدار)
پایان

روال ریشه:
    دوبرابر := (ع: صحیح) => ع * ۲
    سرچاپ دوبرابر(۵)
    سرچاپ به‌کاربردن((ع: صحیح) => ع * ع، ۷)
    رده := (نمره: صحیح):
        قبول := نمره >= ۱۰
        برگشت قبول ? "قبول" : "مردود"
    پایان
    سرچاپ رده(۱۴)، رده(۸)
پایان
خروجی10 49 قبول مردود

گونه‌ی روال

گونه‌ی یک روال به شکل روال (گونه‌ی ورودی‌ها) گونه‌ی خروجی نوشته می‌شود؛ مثلاً روال (صحیح) صحیح روالی است که یک صحیح می‌گیرد و یک صحیح برمی‌گرداند. با این گونه، روالی مثل به‌کاربردن می‌تواند هر روال سازگاری را بگیرد.

روال بی‌نام مقدار متغیرهای بیرونی را هنگام ساخته‌شدن کپی می‌کند؛ اگر لازم است چیزی را بیرون از روال تغییر دهید، آن را به‌عنوان ورودی ارجاعی بفرستید.