ارلنگ هم مانند بسیاری از زبان های برنامه نویسی عبارت های کنترلی دارد هرچند که با استفاده از تطبیق الگو و استفاده از توابع با بخش های مجزا تقریبا نیازی با آن ندارید. برای نمونه ارلنگ case را معرفی کرده است که کاربردی کاملا شبیه switch در زبانهای خانواده C دارد.
case Condition of
true -> doSomethings;
false -> doNothing
end;
در case ابتدا شرطی مورد بررسی قرار می گیرد و مطابق با مقدارش قسمتی از case اجرا می شود. برخلاف زبانهای برنامه نویسی خانواده C شما نیازی به break ندارید و تنها بخشی که مطابقت یافت اجرا می شود.
ارلنگ if هم دارد. کار با آن ساده است تنها باید بخاطر داشته باشید که در زبان ارلنگ لااقل یکی از بخش ها باید true باشد در غیر ایصورت با پیغام خطا روبرو میشوید.
max(X, Y) ->
if
X > Y -> X;
X < Y -> Y;
true -> nil
end.
همانطور که اشاره شد در بسیاری از موارد نیازی به استفاده از عبارات کنترلی نیست. برای نمونه ارلنگ عملگرهایی را برای کار برروی لیست در خود دارد که شما براحتی می توانید با انواع لیست ها کار کنید. فرمت آنها مطابق دروس جبر دوره دبیرستان است. مثلا زمانی که بخواهید کلیه اعضای یک لیست را دو برابر کرده در لیست جدیدی بریزید به قسم زیر عمل می کنید:
[2*X || X <- L]
عبارت بالا اینطور خوانده می شود: به ازای هر X از لیست L دو برابر X را حساب کن. حاصل لیستی ازمقادیر جدید خواهد بود. مثال زیر به خوبی نمایش گر این کاربرد خواهد بود
L = [1,2,3,4,5].
L2=[2*X||X <- L]
L2=[2,4,6,8,10]