برنامه نویسی به زبان ارلنگ

ارلنگ زبان برنامه نویسی تابعی و همروند است

برنامه نویسی به زبان ارلنگ

ارلنگ زبان برنامه نویسی تابعی و همروند است

برنامه نویسی به زبان ارلنگ

در این وبلاگ مطالب مربوط به ارلنگ و الیکسیر منتشر خواهد شد

۱ مطلب با کلمه‌ی کلیدی «ماژول» ثبت شده است

  • ۰
  • ۰

کدهای زبان برنامه نویسی ارلنگ در درون واحدی بنام ماژول قرار می گیرد تقریبا تمامی توابع در داخل ماژول نوشته می‌شوند. ماژول ها در داخل فایلهایی با پسوند .erl ذخیره می‌شوند. ماژول ها برای اجرا نیاز به کامپایل شدن دارند. لازم به ذکر است فایل های کامپایل شده دارای پسوند .beam می باشند. در مثال زیر تابعی بنام area تعریف شده که بسته به نوع ورودی مساحت شکل مورد نظر را محاسبه می کند.

-module(geometry).

-export([area/1]).

area({rectangle, Width, Height}) -> Width*Height;

area({circle, R}) -> 3.14 * R * R.

لازم به ذکر است area یک تابع است و بخشهای مختلف آن با ; از هم جدا می شوند. چنانچه ورودی ما توپلی که عضو اول آن rectangle است، باشد قسمت اول تابع اجرا می گردد و چنانچه circle باشد قسمت دوم. نکته اینجاست که تابع در حالتی که ورودی دارای شکل متفاوتی باشد تعریفی ندارد و کاربر پیغام خطا خواهد گرفت. برای غلبه بر آن می تواند قسمت کلی در انتهای تابع قرار داد:

area({rectangle, Width, Height}) -> Width*Height;

area({circle, R}) -> 3.14 * R * R;

area(_) -> error.

توجه داشته باشید که _ به معنی هر ورودی می باشد. توابع از بالا به پایین اجرا می شوند و بنابراین چنانچه ورودی مطابق با دو قسمت اول نبود قسمت سوم اجرا خواهد شد. جابجایی قسمتهای تابع نتیجه متفاوتی خواهد داد.

فایل فوق بنام geometry.erl ذخیره می گردد. برای کامپایل کردن آن کافی است وارد محیط ارلنگ شده و با استفاده از دستور زیر فایل را کامپایل کنیم:

c(geometry).

برای استفاده از توابع فایل بصورت زیر عمل می کنیم:

geometry:area({rectangle, 10, 50}).

geometry:area({circle, 2}).

به ترتیب باید 500 و 12.56 را بعنوان جواب دریافت کنید.  

چنانچه شما دانشی در زمینه زبانهای برنامه نویسی شی گرا داشته باشید با نوع داده‌ و توابع عمومی و خصوصی آشنا هستید. توابع عمومی توابعی هستند که در بیرون از کلاس قابل دسترسی هستند حال آنکه توابع خصوصی تنها در داخل کلاس می توانند مورد استفاده قرار گیرند. چنین محدود سازی در ارلنگ با کمک export صورت می گیرد. در قسمت export شما لیستی از توابعی را که مایلید از بیرون قابل اجرا باشند را وارد می کنید. توابع بصورت نام / تعداد ورودی نوشته می شوند. از آنجایی که تابع area تنها یک ورودی می گیرد نام کامل آن بصورت area/1 خواهد بود.

  • مهدی حسینی مقدم