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

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

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

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

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

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

  • ۰
  • ۰

در این مثال قیمت سه آیتم از کاربر از ورودی بهمراه تعداد هر کدام را دریافت می‌کنیم و قیمت نهایی را با در نظر گرفتن 5.5% مالیات محاسبه می‌کنیم که بسیار ساده است. در این مثال قسمت دریافت اطلاعات، چاپ خروجی و محاسبات را از هم جدا کردم و ضمنا تابع محابسه بصورت بازگشتی تعریف شده است.

-module(ex10).
-export([main/0]).
-define(TAX, 0.55).

main() ->
	try run()
	catch
		error:_Error -> io:format(
			"Please Enter only Numeric type~n");
		throw:negativeNumber -> io:format(
			"Please Enter only non-zero positive number~n")
	end.

run() ->
	L = readItems(),
	[Sub,Taxed,Total] = calc_tax(L),
	io:fwrite(
		"Subtotal: $~w~nTax: $~w~nTotal: $~w~n",
		[Sub,Taxed,Total]).

calc_tax(L) -> calc_tax(L,0).
calc_tax([],Total) ->
	[Total, Total*?TAX,(1+?TAX)*Total];
calc_tax([{P,Q}|T],Total) ->
	calc_tax(T,Total+(P*Q)).
	
readItems() ->
	{ok,[P1]} = io:fread(
		"Enter the price of item 1: ","~d"),
	{ok,[Q1]} = io:fread(
		"Enter the quantity of item 1: ","~d"),
	{ok,[P2]} = io:fread(
		"Enter the price of item 2: ","~d"),
	{ok,[Q2]} = io:fread(
		"Enter the quantity of item 2: ","~d"),
	{ok,[P3]} = io:fread(
		"Enter the price of item 3: ","~d"),
	{ok,[Q3]} = io:fread(
		"Enter the quantity of item 3: ","~d"),
	if
		P1 =< 0 orelse Q1 =< 0 orelse P2 =< 0 orelse Q2 =< 0 orelse
		P3 =< 0 orelse Q3 =< 0 -> throw(negativeNumber);
		true -> ok
	end,
	[{P1,Q1},{P2,Q2},{P3,Q3}].
  • ۹۷/۰۲/۲۸
  • مهدی حسینی مقدم

ارلنگ

مثال هایی در ارلنگ

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی