VIP برنامه نویسی Client Side

وضعیت
موضوع بسته شده است.

☾♔TALAYEH_A♔☽

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2017/05/18
ارسالی ها
35,488
امتیاز واکنش
104,218
امتیاز
1,376
حوزه متغیرها
حوزه متغیرها در لوا دو حالت دارد: عمومی و محلی. متغیرهای محلی با عبارت local در ابتدای آن‌ها مشخص می‌شوند. متغیرهای عمومی در همه جا قابل دسترسی هستند اما متغیرهای محلی فقط در بدنه همان تابع یا توابع تعریف شده در درون آن تابع قابل دسترسی هستند. مثال زیر به خوبی حوزه متغیرها را نشان می‌دهد. در تابع print به جای مقادیری که در حوزه نیستند nil چاپ می‌شود.

y = 1
function f(x)
y = 2
local z = 3
local function g(r)
z = 4
end
g(z)
return z
end

print(f(x)) -- prints 4
print(y) -- prints 2
print(z) -- prints nil
 
  • پیشنهادات
  • ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    فراجدول‌ها
    لوا دارای سیستم تایپ پویا می‌باشد؛ بنابراین در زمان اجرا مشخص می‌شود که انجام یک عمل خاص ممکن است یا نه. مثلاً در کد زیر

    a1 = {x=1,y=2}
    a2 = {x=3,y=4}
    c = a1 + a2
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    وقتی که کد مربوط به c=a+b تفسیر می‌شود امکان‌ناپذیر بودن آن مشخص می‌شود. برای اینکه احاطه برنامه‌نویس بر روند اجرا بیشتر شود، قابلیت فراجدول به زبان اضافه شد. این قابلیت اجازه می‌دهد که به جای رخ دادن خطاهای زمان اجرا تابعی از پیش تعیین شده توسط کاربر اجرا شود. این تابع وضعیت خطا را بررسی می‌کند و می‌تواند هم فعالیتی را در این زمان انجام دهد (مثلاً ضبط این موضوع که خطا رخ داده در یک فایل) یا اینکه یک مفهوم جدید برای عمل تعریف نشده تعریف کند. در مثال بالا جمع دو جدول را این‌گونه تعریف کرد که مقادیر متناظر نام‌های یکسان را جمع می‌کنیم (اگر مقداری در جدول اول بود که متناظری در جدول دوم نداشت حاصل nil می‌شود). کد این فراجدول این‌گونه است:

    mt = { __add = function (a, b)
    local ret={}
    local i=next(a,nil)
    while i do
    v = a
    if b==nil then
    return nil
    end
    v_p = b
    e, r = pcall(function() return v + v_p end)
    if e then
    ret = r
    else
    return nil
    end
    i = next(a,i)
    end
    return ret;
    end
    }
    a1 = {x=1,y=2}
    a2 = {x=3,y=4}
    setmetatable(a1,mt)
    c = a1 + a2
    print(c.x,c.y)
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    این کد در lua نسخه ۵٫۱ به قبل قابل ترجمه نیست چون آن زمان به جای فراجدول‌ها سازوکار مشابهی به نام عقب‌گردان‌ها (Fallbacks) وچود داشت. عقب‌گردان‌ها به علت مشکلاتی که در خوانایی و قابلیت نگهداری و استفاده دوباره کد ایجاد می‌کردند از نسخه ۳٫۰ به بعد از زبان حذف شدند.

    برنامه‌نویسی شیءگرا
    شیءگرایی در لوا به‌طور مستقیم وارد نشده‌است. شیءگرایی از طریق سازوکار فراجدول‌ها قابل پیاده‌سازی است. نمونه‌ای ساده از پیاده‌سازی شیءگرایی:

    a={x=100, y=200, color="red"}
    b={x=300, y=400}
    setmetatable(b,{ __index = a })
    print(b.color) --> red
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    رابط برنامه‌نویسی نرم‌افزار (API)
    زبان‌های پردازه‌نویسی درون یک زبان بزرگتر اجرا می‌شوند. این زبان باید با زبان پردازه‌نویسی داخلی از طریق یک لایه ارتباط برقرار کند، که آن رابط ربن (برنامه‌نویسی نرم‌افزار) است. در لوا از دو بخش هسته و کمکی تشکیل شده‌است. لایه ربن در لوا نسبتاً ساده است، چون برخلاف پایتون مدیریت ارجاع در آن نیاز نیست. ربن لوا همچون خود زبان کمینه است: عملکرد پیشرفته‌تر توسط کتاب‌خانهٔ کمکی پشتیبانی می‌شود، که شامل ماکروهای تعریف شده زیادی است که عملیات پیچیده جدولی را آسان می‌کند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پرل

    Programming-republic-of-perl.png

    پارادایم پارادایم برنامه‌نویسی: برنامه‌نویسی تابعی، برنامه‌نویسی دستوری، برنامه‌نویسی شیءگرا (class-based), reflective، برنامه‌نویسی رویه‌ای، برنامه‌نویسی رویدادمحور، برنامه‌نویسی جنریک
    طراحی‌شده توسط لری وال
    توسعه‌دهنده Larry Wall
    ظهوریافته در ۱۸ دسامبر، ۱۹۸۷؛ ۳۱ سال پیش
    انتشار پایدار
    5.26.0 / ۳۰ مه، ۲۰۱۷؛ ۱۹ ماه پیش 5.24.2 / ۱۵ ژوئیه، ۲۰۱۷؛ ۱۸ ماه پیش

    5.22.4 / ۱۵ ژوئیه، ۲۰۱۷؛ ۱۸ ماه پیش
    انتشار پیش‌نمایش
    5.27.2 / ۲۱ ژوئیه، ۲۰۱۷؛ ۱۷ ماه پیش
    نظم ماشین‌نویسی
    Dynamic
    زبان پیاده‌سازی
    سی (زبان برنامه‌نویسی)
    سیستم‌عامل چندسکویی
    پروانه Artistic License 1.0 or پروانه عمومی همگانی گنو
    پسوندهای نام پرونده
    .pl .pm .t .pod
    وب‌گاه
    Please, ورود or عضویت to view URLs content!

    تأثیرگرفته از
    AWK، سی (زبان برنامه‌نویسی)، سی پلاس‌پلاس، لیسپ، پاسکال (زبان برنامه‌نویسی)، Sed، اسمال‌تاک، پوسته یونیکس
    تأثیرگذاشته بر
    کافی‌اسکریپت[نیازمند منبع], ECMAScript، فالکن، گرووی (زبان برنامه‌نویسی)[نیازمند منبع], جاوااسکریپت، جولیا، ال‌پی‌سی (زبان برنامه‌نویسی)، Perl 6، پی‌اچ‌پی، پایتون (زبان برنامه‌نویسی)، روبی (زبان برنامه‌نویسی)، ویندوز پاورشل
    16px-Wikibooks-logo-en-noslogan.svg.png
    Perl Programming در ویکی‌کتاب (انگلیسی)
    پِرْل (به انگلیسی: Perl) یکی از زبانهای برنامه‌نویسی سطح بالا، همه منظوره، دارای مفسر و دینامیک است. زبانهای عضو این خانواده شامل پرل نسخه ۵ و نسخه ۶ هستند.[۱]

    اگر چه واژه پرل یک مخفف واقعی نیست[۲] ولی مخففهای معکوس متعددی برای ان ساخته شده‌اند. یکی از متداول‌ترین این عبارتها " زبان عملی استخراج و گزارش دهی " است.[۳]

    محتویات
    • ۱ پیشینه
      • ۱.۱ پونی
      • ۱.۲ نام
      • ۱.۳ نماد شتر
      • ۱.۴ نماد پیاز
    • ۲ مرور
      • ۲.۱ ویژگی‌ها
      • ۲.۲ طراحی
      • ۲.۳ پیاده‌سازی
      • ۲.۴ دسترسی
      • ۲.۵ ویندوز
    • ۳ پایگاه داده
      • ۳.۱ بهینه‌سازی
      • ۳.۲ پرل ۶
      • ۳.۳ خصوصت‌های پرل ۵
      • ۳.۴ قابلیت‌ها
        • ۳.۴.۱ کاربرد پرل
        • ۳.۴.۲ پرل به عنوان یک زبان چسبنده (Glue Language)
        • ۳.۴.۳ پرل به عنوان یک زبان کراس پلتفرم (Cross Platform)
        • ۳.۴.۴ پرل و CGI
    • ۴ ساختار زبان
      • ۴.۱ نمونه برنامه
    • ۵ منابع
    • ۶ پیوند به بیرون
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پیشینه
    پرل در سال ۱۹۸۷ توسط لری وال منتشر شد. زبان پرل بطور وسیعی ساختار خود را از زبان سی و بسیاری از خصوصیات خود را مدیون زبانهای AWK , LISP , SED , SH می‌باشد. در ابتدا لاری وال در سال ۱۹۸۷ پرل را به عنوان یک زبان همه منظوره بر پایه اسکریپت نویسی در یونیکس ابداع کرد تا فرایند گزارش‌گیری را آسان تر سازد.[۴] امروزه می‌توان پرل را در بیش از ۴۰ سیستم‌عامل بکار گرفت، و کتابخانه CPAN تاکنون ۱۰۰٬۹۹۹ ماژول‌های پرل در ۲۳٬۶۵۹ توزیع، نوشته شده توسط ۹٬۳۰۸ نویسنده، بر روی ۲۷۰ سرور میرور با کد منبع در اختیارتان می‌گذارد که روز به روز بر تعداد آن افزوده می‌شود. در سال ۱۹۸۸ لری وال زبان برنامه‌نویسی پرل را به همگان معرفی کرد که می‌توانست به جای awk و sed به کار رود. در واقع پرل زبان مفسر داری است که برای کار بر روی فایل‌های متنی مناسب است. نسخه شماره ۲ برنامه در همان سال و چند ماه بعد از آن ارائه شد که شبیه نسخه‌های فعلی پرل بود و پیشرفت‌های بسیار خوبی داشت. تا جائیکه زبان پرل را برابر با زبان C می‌دانستند، چون ساختار زبان پرل شبیه زبان C می‌باشد.

    از آن موقع تاکنون تغییرات و بازنگری‌های زیادی در این زبان انجام شده‌است. پرل نسخه ۶ که در سال ۲۰۰۰ ابتدا به عنوان بازسازی نسخه پرل ۵ شروع شد، تقریباً منجر به توسعه زبان جدیدی گشت. فرایند توسعه هر دو زبان به شکل جداگانه و توسط تیم‌های توسعه دهنده متفاوتی ادامه یافت که گاهی به شکل آزادانه ایده‌هایی را از همدیگر وام می‌گرفتند.

    Perl 4 از طریق مجموعه‌ای از نسخه‌های تعمیر و نگهداری منتشر شد که به ترتیب در Perl 4.036 در سال ۱۹۹۳ به پایان رسید. در آن زمان، Wall از Perl 4 برای شروع کار در Perl 5 استفاده کرد. طراحی اولیه Perl 5 تا سال ۱۹۹۴ ادامه یافت. لیست پستی perl5-porter در ماه مه ۱۹۹۴ برای هماهنگی کار برای انتقال Perl 5 به پلتفرم‌های مختلف ایجاد شد. انجمن اولیه برای توسعه، نگهداری و انتقال پرل ۵ است.[۵]

    Perl 5.000 در تاریخ ۱۷ اکتبر ۱۹۹۴ منتشر شد.[۶] این تقریباً نسخه کامل بازنویسی مترجم بود و بسیاری از ویژگی‌های جدید را به زبان اضافه کرد، از جمله اشیاء، مراجع، متغیرهای واژگانی (من) و ماژول‌ها. مهم‌تر از همه، ماژولها مکانیسمی برای گسترش زبان را بدون اصلاح مترجم ارائه دادند. این ویژگی به مترجم اصلی کمک کرد تا تثبیت شود. حتی بسیاری از برنامه نویسان معمولی Perl را قادر به اضافه کردن ویژگی‌های جدید به زبان ساخت.

    Perl 5.001 در تاریخ ۱۳ مارس ۱۹۹۵ منتشر شد. Perl 5.002 در تاریخ ۲۹ فوریه ۱۹۹۶ با ویژگی‌های جدید نمونه‌های اولیه منتشر شد. این به نویسندگان ماژول اجازه می‌دهد تا سابروتین‌ها را اجرا کنند. پرل ۵٫۰۰۳ در تاریخ ۲۵ ژوئن ۱۹۹۶ منتشر شد.

    یکی از مهم‌ترین رویدادهای تاریخ Perl 5 که خارج از زبان مناسب بود و ناشی از حمایت ماژول آن بود. در ۲۶ اکتبر ۱۹۹۵، شبکه جامع پرل آرشیو (CPAN) به عنوان مخزن برای ماژول‌های Perl و خود Perl ایجاد شد؛ از ماه مه سال ۲۰۱۷، بیش از ۱۸۵۱۷۸ ماژول در ۳۵۱۹۰ توزیع منتشر شده‌است که توسط بیش از ۱۳۷۱۷۱ نوشتار نوشته شده‌است و در بیش از ۲۴۵ مکان در سراسر جهان بازتاب یافته‌است.[۷]

    Perl 5.004 در تاریخ ۱۵ مه ۱۹۹۷ منتشر شد و از جمله موارد دیگر بسته UNIVERSAL است که Perl را یک شیء پایه‌ای می‌داند که تمام کلاس‌ها به‌طور خودکار مشتق شده و توانایی درخواست نسخه‌های ماژول‌ها را دارد. یکی دیگر از پیشرفت‌های مهم، شامل قرار دادن ماژول CGI.pm بود[۶] که به محبوبیت پرل به عنوان یک زبان برنامه‌نویسی CGI کمک کرد.

    در حال حاضر Perl نیز در حال اجرا تحت ویندوز مایکروسافت و چند سیستم عامل دیگر است.[۶]

    پرل ۵٫۰۰۵ در تاریخ ۲۲ ژوئیه ۱۹۹۸ منتشر شد. این نسخه شامل چندین پیشرفت در موتور regex، اپراتور نقل قول qr // regex، انتخاب بزرگی از دیگر ماژول‌های اصلی جدید، و پشتیبانی از چندین سیستم عامل دیگر، از جمله BeOS اضافه شده‌است.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پونی
    پونی(انگلیسی PONIE) یک کلمه مخفف برای کلمات " پرل در روی موتور داخلی جدید " است. پروژه پونی از سال ۲۰۰۳ تا سال ۲۰۰۶ و به عنوان پلی بین پرل نسخه ۵ و پرل نسخه ۶ وجود داشت. این پروژه تلاشی بود برای بازنویسی مفسر نسخه ۵ به شکلی که بتوان آن را بر روی پاروت، ماشین مجازی نسخه ۶ اجرا کرد. هدف از پروژه تضمین آینده‌ای برای میلیون‌ها خط برنامه موجود نسخه ۵ بود که در اختیاران هزاران شرکت مختلف در سراسر جهان قرار داشت.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    نام
    پرل در اصل به نام «مروارید» نامگذاری شد. Wall می‌خواست زبان را به عنوان یک نام کوتاه با مفاهیم مثبت معرفی کند؛ او ادعا می‌کند که هر واژه سه و چهار حرف را در فرهنگ لغت در نظر می‌گیرد. او همچنین نام آن را پس از همسرش گلوریا ذکر کرد. Wall زبان برنامه‌نویسی Pearl را قبل از انتشار رسمی پرل کشف کرد و املای نام را تغییر داد.[۱۰] هنگام اشاره به زبان، نام به‌طور طبیعی به عنوان اسم مستعار (Perl) نامیده می‌شود. هنگامی که به مترجم خود برنامه مراجعه می کنید،اغلب نام غیرقابل پذیرش (perl)است، زیرا اکثر سیستم‌های فایل یونیکس حساس به حروف هستند. قبل از انتشار اولین نسخه زبان برنامه‌نویسی Perl ، معمولاً به زبان به عنوان perl اشاره شد؛ با این حال، رندال الکس شوارتز، نام زبان را در این کتاب بزرگتر کرد تا آن را در هنگام تایپ بهتر بیان کند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    نماد شتر
    برنامه‌نویسی Perl که توسط O'Reilly Media منتشر شده‌است، تصویری از یک شتر برهنه در پوشش دارد و معمولاً «کتاب شتر» نامیده می‌شود.[۱۲] این تصویر شتر به نماد غیررسمی پرل تبدیل شده‌است و همچنین یک نشان هکر عمومی است که در تی شرت و دیگر اقلام لباس ظاهر می‌شود.O'Reilly تصویر را به عنوان علامت تجاری اداره می‌کند، اما مجوز آن را برای استفاده غیر تجاری می‌دهد، و فقط نیاز به تأیید و پیوند به
    Please, ورود or عضویت to view URLs content!
    دارد. مجوز برای استفاده تجاری بر اساس یک مورد مورد بررسی قرار می‌گیرد. O'Reilly همچنین لوگوهای "Republic of Perl" برای سایت‌های غیر تجاری و "Powered by Perl" را برای هر سایت ای که از Perl استفاده می‌کند، فراهم می‌کند.
     
    وضعیت
    موضوع بسته شده است.

    برخی موضوعات مشابه

    بالا