این مقاله دقیق، کامل و صحیح ترجمه نشده و نیازمند ترجمه به فارسی است. کل یا بخشی از این مقاله به زبانی بهجز زبان فارسی نوشته شدهاست. اگر مقصود ارائهٔ مقاله برای مخاطبان آن زبان است، باید در نسخهای از ویکیپدیا به همان زبان نوشته شود (فهرست ویکیپدیاها را ببینید). در غیر این صورت، خواهشمند است ترجمهٔ این مقاله را با توجه به متن اصلی و با رعایت سیاست ویرایش، دستور خط فارسی و برابر سازی به زبان فارسی بهبود دهید و سپس این الگو را از بالای صفحه بردارید. همچنین برای بحثهای مرتبط، مدخل این مقاله در فهرست صفحههای نیازمند ترجمه به فارسی را ببینید. اگر این مقاله به زبان فارسی بازنویسی نشود، تا دو هفتهٔ دیگر نامزد حذف میشود و/یا به نسخهٔ زبانی مرتبط ویکیپدیا منتقل خواهد شد. اگر شما اخیراً این مقاله را بهعنوان صفحهٔ نیازمند ترجمه برچسب زدهاید، لطفاً عبارت {{جا:هبک-ترجمه به فارسی|1=لاسو (زبان برنامهنویسی)}} ~~~~ را نیز در صفحهٔ بحث نگارنده قرار دهید. |
پارادایم برنامهنویسی | Multi-paradigm: structured object-oriented (multi-dis),
imperative: procedural, concurrent, exp-oriented, Meta: reflective |
---|---|
طراحی شده توسط | Kyle Jessup |
توسعهدهنده | LassoSoft Inc. |
ظهوریافته در | ۱۹۹۵ |
انتشار پایدار | 9.3.1
/ ۲۳ اکتبر ۲۰۱۵ |
Dynamic with constraints (strict-hybrid), nominative, duck (hybrid) | |
زبان پیادهسازی | C, Lasso |
بنسازه رایانش | Cross-platform |
سیستمعامل | (OS X, Windows, Linux) |
پروانه | Proprietary |
.lasso, .LassoApp | |
وبگاه | |
پیادهسازیهای بزرگ | |
Lasso 8, Lasso 9 | |
متأثر از | |
Dylan, Smalltalk, Scala |
لاسو یک سرور کاربری و رابط مدیریت سرور است که برای توسعه دادن نرمافزارهای کاربردی اینترنتی به کار میرود. لاسو یک زبان برنامهنویسی عمومی و سطح بالاست. در ابتدا لاسو فقط یک ابزار اتصال به منابع داده وب،[۱] برای فایلمیکر بود و بعداً در FileMaker 4.0 Apple Computer و صفحه اصلی Claris به عنوان CDML[۲][۳] از آن استفاده شد. از آن زمان تا کنون لاسو به یک زبان پیچیده تبدیل شده که برای توسعه نرمافزارهای کاربردی اینترنتی مقیاس بزرگ و صفحات وب به کار میرود.
لاسو شامل یک سیستم قالب ساده است که به کد اجازه کنترل نسل اچتیامال و سایر انواع محتوا را میدهد. لاسو شی گرا است و هر مقدار ،شیء است. لاسو همچنین از برنامهنویسی رویه ای از طریق روشهای غیر وابسته پشتیبانی می کند. این زبان از متدهای چندگانه بهطور گسترده استفاده میکند.
لاسو یک سیستم پویا دارد، که در آن اشیاء را میتوان در زمان اجرا بارگذاری و افزوده کرد. مدیریت حافظه به صورت خودکار، کتابخانه استاندارد همهجانبه و سه روش کامپایل: پویا (قابل مقایسه با پی اچ پی - پایتون)، کامپایل درجا (قابل مقایسه با جاوا یا NET Framework.)، و از پیش کامپایل شده (قابل مقایسه با C) است. لاسو همچنین از عبارات Query پشتیبانی میکند،[۴] که به عناصر در آرایهها و انواع دیگر دنبالهها اجازه میدهد با استفاده از سینتکس یک زبان طبیعی شبیه SQL ,تکرار، فیلتر، و دستکاری شوند.[۵] لاسو شامل پشتیبانی کامل از کاراکترهای Unicode در شیء استاندارد رشتهای است که به آن اجازه میدهد کاراکترهای چند بایتی مانند ژاپنی و سوئدی را پشتیبانی کند، و از تبدیل UTF-8 هنگام نوشتن داده در شبکه یا سیستم فایل پشتیبانی میکند.
لاسو اغلب به عنوان یک زبان اسکریپت نویسی استفاده میشود و همچنین در طیف گستردهای از زمینههای غیر اسکریپت نویسی هم از آن استفاده میشود. کد لاسو را میتوان به برنامههای اجرایی مستقل به نام "LassoApps" دستهبندی کرد، که در آن ساختار پوشهها به فایلهای تک تک کامپایل میشوند.[۶]
سرور کاربردی لاسو به عنوان یک سرویس سیستم اجرا میشود و درخواستها از سرور وب را از طریق سرور FastCGI دریافت میکند. سپس درخواست را به قسمت مربوطه لاسو ارجاع میکند که پاسخ را فرموله میکند. چندین نمونه از قسمتهای مستقل پشتیبانی میشوند، که به سرور این اجازه را میدهد که چندین سایت را (هر کدام به عنوان فرایندهای مستقل) مدیریت کند. سرور از یک سیستم تردینگ با عملکرد بالا که بر اساس IO است و برای سیستمهای چند هسته ای طراحی شده، استفاده میکند.
لاسو را میتوان با زبانهای اسکریپت نویسی سمت سرور مثل PHP[۷][۸] و پایتون , ColdFusion، روبی و غیره مقایسه کرد.[۹][۱۰]
لاسو برای توسعه، رایگان است و اجازه دسترسی جزئی به کد منبع خود[۱۱][۱۱] و اضافه کردن یا تغییر اجزای مهم زبان (به عنوان مثال، اجرای Ke Carlton DS Lasso Inline[۱۲]) را میدهد. مجوز در هر دو نسخه SAS و مستقل ارائه میشود.[۱۳]
لاسو در اواسط دهه ۹۰ میلادی آغاز به کار کرد، زمانی که توسعه دهندگان اولیه وب سعی در اتصال پایگاه داده FileMaker Pro اپل با شبکه جهانی وب داشتند. در پلتفرم Mac دو راه حل وجود داشت: WEB-FM اریک بیکفورد و FileMaker CGI راسل اوونز (ROFM) که هر دو در اپل اسکریپت ساخته شده بودند و نیازمند استفاده از زمینههای محاسباتی FileMaker Pro برای قالب بندی بودند. (وب-FM بعداً به زبان C بازنویسی شد).
در پاییز سال ۱۹۹۵، وینس بونافونتی (توسعه دهنده)،CGI جدید را بر اساس ROFM، با استفاده از C / C ++ و از مفهوم «قالب» مبتنی بر HTML به جای تکیه بر زمینههای محاسباتی، برای بهبود عملکرد نوشت. این امر در انجمن FileMaker بسیار محبوب بود و توجه بیل دررفلد، صاحب شرکت Blue World Communications Inc.، یک شرکت چاپ و توسعه وب در خارج از ایساوا، واشینگتن، که کد منبع را خریداری کرد، را به خود جلب کرد.[۱۴]
در این زمان، جهان آبی با پیشرفتهای انجام شده برای CGI در محیط اسکریپت Frontier آزمایشهایی انجام داد، که نام لاسو را الهام بخشید. نیاز به پیشرفت بیشتر باعث ایجاد CGI مبتنی بر C شد که بعدها به عنوان "Lasso 1.0" منتشر شد. در این مرحله، لاسو فقط با فایلمیکر پرو 3.x و WebSTAR کار میکرد و تنها در سیستم عامل اپل Mac OS 8 و بالاتر اجرا میشد.[۱۵]
محبوبیت لاسو بهطور قابل ملاحظه ای از بررسی در نشریات چاپی و همچنین میزبانی جهان آبی و مشارکتش در بسیاری از لیستهای بحث ایمیل است که بسیاری از آنها بهطور خاص مربوط به FileMaker Pro بود. جهان آبی همچنین به صورت مداوم در همه جا حضور داشت و به عنوان یک شرکت پیشرو در کنفرانس MacWorld شناخته شد.[۱۶]
پس از انتشار سری Lasso 1.2 در ماه ژانویه سال ۱۹۹۷، جهان آبی و Bonfantis با Claris، بخش نرمافزاری Apple Computer و مالک FileMaker Pro وارد گفتگوهای خصوصی شدند. Claris در نهایت مجوز کد منبع نسخه ۱٫۲ پست لاسو را صادر کرد، و با کمک وینس و پل بونفانتی از FileMaker همنشین وب به عنوان یک جزء از نرمافزار FileMaker 4.0 منتشر شدهاست. زبان، (CDML (Claris Dynamic Markup Language (زبان نشانه گذاری پویا clarys),[۱۷] از Lasso 1.2 LDML متفاوت بود، که به توسعه دهندگان که به دنبال به کار بردن FileMaker Pro از طریق سرورهای شخص ثالث بودند، یک گذار راحت را پیشنهاد میکرد[۱۸] و همچنین ویژگیهای کامپایل بیشتری را ارائه میکرد.
اضافه کردن همنشین وب شبه لاسو در FileMaker 4.0 به محبوبیت لاسو در جامعه رو به رشد توسعه وب Macintosh کمک کرد. جهان آبی به توسعه لاسو همراه با Kyle Jessup که اکنون برنامهنویس رهبر لاسو شده بود، ادامه داد. Lasso 2.0 در ژوئیه سال ۱۹۹۷ منتشر شد و تغییراتی اساسی در نحوه استفاده از لاسو معرفی کرد[۱۹]
در تاریخ ۲۶ فوریه ۲۰۰۲، جهان آبی Lasso 5 را عرضه کرد، که این امر تا آن روز، جدایی رادیکال از زبانی بود که بر مبنای FileMaker ساخته شده بود. (نسخه آزمایشی Lasso 4هرگز عرضه نشد؛ شماره نسخه از ۳ به ۵ پرید) Lasso 5 شامل بسیاری از به روز رسانیها، معماری کاملاً بازنویسی شده (برای OS X، ویندوز، لینوکس) بود و یک پایگاه داده MySQL در آن تعبیه شده بود.[۲۰] اگر چه Lasso 5 هنوز از پایگاه داده FileMaker استفاده میکرد (اما نه از سرور آن)، FileMaker به عنوان یک منبع داده نسبتاً کند در مقایسه با یک موتور SQL باقی ماند که به طرز غیرقابل قبولی گرانتر بود. از آنجا که v2.0، لاسو کاملاً چند ریسه ای بود که اجازه اتصالهای بسیاری در یک زمان را میداد، اما در زمان وقوع یا تأخیر در کارکردهای خاصی به FileMaker باخت و هیچ راهی دیگری برای جبران آن نبود مگر آن که تغییرات اساسی در منبع داده ایجاد شود.[۲۱]
Lasso 5 همچنین پشتیبانی از Apache HTTP Server را اساساً تحت سیستم عامل OS X، ویندوز و لینوکس ایجاد کرد، که Webstar 5، AppleShare IP (که توسط OS X Server جایگزین شدهاست) و iTools (از Tenon[۲۲]) را به هم پیوند میداد. (Mac OS 9، که در آن چند سال از لاسو استفاده شده بود، پشتیبانی نشده بود). که این باعث نزدیکی بیشتر به معماری کلاسیک سرور LAMP شد. [نیازمند منبع]
ارتباطات جهان آبی همچنین یک سری از افزونهها را برای بستههای محبوب وب توسعه یافته از Macromedia و Adobe منتشر کرد. Lasso Studio 1.5 برای Dreamweaver در مراسم اهدای جوایز به انتخاب ادیتورهای مجله MacWorld برای اینترنت و توسعه، دوم شد.[۲۳] در سال ۲۰۰۱ به ادوبی دریمویور ۳ باخت. Lasso Studio برای Dreamweaver 1.5[۲۴] نیز از نظر مجله MacWorld با موفقیت ۴ و نیم موش مورد بررسی قرار گرفت. نسخه بعدی Lasso Studio از هر دو Macromedia Dreamweaver و Adobe GoLive از جمله Lasso Studio 7 برای Dreamweaver و GoLive[۲۵] در تاریخ ۲۶ مارس ۲۰۰۴ پشتیبانی کرد.
با انتشار FileMaker Server و FileMaker Server Advanced نسخه ۷ در سال 2004 FileMaker یک استراتژی جدید برای ارائه داده به سایتهای وب عرضه کرد. آنها روی XML-XSLT, ODBC و اتصال JDBC تأکید داشتند، اما تنها از طریق نرمافزار پیشرفته FileMaker Server Advanced.[۲۶] جهان آبی شروع به دور کردن زبان لاسو از FileMaker و اپل کرد. در سال ۲۰۰۵، Lasso Pro گواهینامه شبکه MySQL[۲۷] را دریافت کرد که اهمیت پایگاه داده منبع باز را در محبوبیت لاسو در آینده نشان میداد.
در ۱ آگوست سال ۲۰۰۴، بیل دورفلد رسماً خط تولید Lasso را به OmniPilot Software, Inc. در Ft. لادردریل، فلوریدا فروخت. Lasso 7.0.3 آخرین نسخه لاسو منتشر شده توسط جهان آبی بود.[۲۸]
در ۲۵ اکتبر ۲۰۰۴، OmniPilot رسماً انتشار Lasso 8 را اعلام کرد، یک نسخه شامل جعبه شنی برای چند سایت در سرور یکسان و اتصال به بسیاری از پایگاه داده جدید است.[۲۹] این همچنین شامل اولین نسخه «رایگان» از لاسو است که محدود به آدرسهای IP بود.[۳۰] OmniPilot این عرضه را با تعدادی محصول مکمل ادامه داد، از جمله Lasso Studio 8 برای Dreamweaver و GoLive[۳۱] در تاریخ ۲۸ مارس ۲۰۰۵، لاسو استودیو برای گرفتگی، ادغام ChartFX و تعدادی از راه حلهای مبتنی بر لاسو.[۳۲]
در سال ۲۰۰۷، سه کارمند، Kyle Jessup (توسعه دهنده اصلی Lasso 1.0)، فلچر سندبک (کارمند اولیه جهان آبی شناخته شده برای نکات و ترفندهای معمول) و کری آدامز (کارمند OmniPilot) یک شرکت جدید را (LassoSoft LLC) برای خرید مالکیت فکری لاسو از OmniPilot و ادامه توسعه آن ایجاد کردند.[۳۳][۳۴] شناخت نیاز به رقابت در برابر زبانهای بسیار محبوب مانند PHP و ASP، باعث شد تا آنها تغییرات رادیکال در معماری، سینتکس و ساختار لاسو ایجاد کنند و به عنوان Lasso 9.0 منتشر کنند. چالشهای فنی ناشی از این تغییرات همراه با منابع محدود بازاریابی منجر به کاهش طرد شدن از طرف جامعه شد در حالیکه شرکت تلاش میکرد تا مستندات و پشتیبانی از زبان جدید را منتشر کند.[۳۵][۳۶]
در دسامبر ۲۰۱۰، یک شرکت جدید کانادایی، LassoSoft Inc.، که Lasso 9.0 را خرید، روی آن، بازاریابی و مستنداتش سرمایهگذاری کرد. کایل جاسوپ موافقت کرد که به عنوان رهبر توسعه دهندگان Lasso و دیکتاتور خیرخواه برای زندگی باقی بماند. چندین نسخه (۹٫۱ و ۹٫۲) پیشرفتهای بیشتری را در سالهای اخیر منتشر کردهاند.[۳۷]
رنگ | معنای | توسعه |
---|---|---|
سرخ | نسخه قدیمی | بدون توسعه |
رنگ زرد | انتشار پایدار | رفع امنیت |
سبز | انتشار پایدار | رفع اشکال و امنیت |
آبی | انتشار آینده | ویژگیهای جدید |
نسخه | تاریخ انتشار | یادداشت |
---|---|---|
ROFM | > ۱۹۹۴-۰۳-۱۴ | Russell Owens 'FileMaker CGI، رابط اولیه مبتنی بر AppleScript برای پایگاه دادههای FileMaker Pro است. |
۰٫۱ | Sep-1995 | اتصال CGI توسط Vince Bonafonti در C / C ++ نوشته شدهاست تا FileMaker Pro را به وب وصل کند |
۱٫۰ | ۲۷ سپتامبر ۱۹۹۶ | اتصال برای FileMaker Pro 3.x و WebSTAR[۳۸][۳۹] |
۱٫۱ | دسامبر ۱۹۹۶ | پلاگین WebSTAR، اطلاعات مرورگر کلاینت، لایه امن GUI کامل[۴۰] |
۱٫۲ | ژانویه ۱۹۹۷ | کد منبع مجوز Claris (Apple Computer Inc)، به نام CDML، در صفحه کلاریس نصب شدهاست. |
۲ | ۱۷ ژوئیه ۱۹۹۷ | شامل محاسبات ریاضی، متغیرها، انواع دادههای پیچیده، بخش سرور شامل اطلاعات هدر مشتری، اظهارات شرطی پیشرفته، رابط کاربری Java-client، کنترل اپل رویدادهای دیگر برای برنامههای کاربردی دیگر در وب سرور، اقدامات پایگاه داده چندگانه و Instant Web Publishing[۴۱] |
۲٫۵ | ۱ دسامبر ۱۹۹۷ | تگ استانداردسازی و قابلیت همکاری، توانایی برقراری ارتباط با وب سرور WebTen (پورت سرور آپاچی HTTP به سیستم عامل مک توسط Tenon Intersystems)[۴۲] |
۳٫۰ | ۰۷ اکتبر ۱۹۹۸ | فیلترهای اعتبار سنجی اضافه شده، ماکروها، مدیریت فایل / پوشه، کنترلهای تاریخ / زمان، متغیرهای لیست، چندین برچسب نام، پردازش خطاهای قوی، ایمیل MIME، پیوستهای ایمیل، برنامههای ریاضی پیشرفته، توابع پیشرفته رشته، کنترلهای رمزگذاری پیشرفته[۴۳] |
۳٫۵ | ۱۴ آوریل ۱۹۹۹ | اضافه شدن WYSIWYG نویسنده با استفاده از Macromedia Dreamweaver 2 و Adobe GoLive 4، multithreading, LJAPI، سرور HTTP اختیاری، پشتیبانی از سرور Netscape، جاوا اسکریپت، XML تجزیهکننده برچسب پیشرفته با کنترلهای ساخته شده در کنترل اشکال زدایی[۴۴] |
۳٫۶ | ۵ ژانویه ۲۰۰۰ | پشتیبانی از FileMaker 5 منابع داده، SQL جادوگر برای پرس و جوهای تعاملی SQL، صفحات خطای قابل تنظیم جهانی و استودیو برای MacroMedia DreamWeaver[۴۵] |
۳٫۶٫۵ | ۱ اکتبر ۲۰۰۰ | اتصال افزونه برای MySQL, Red Hat و OS X پشتیبانی[۴۶] |
۵ | ۲۶ فوریه ۲۰۰۲ | معماری بازنویسی برای OS X، ویندوز، لینوکس با MySQL جاسازی شده؛ جلسات اضافه شده، دستکاری فایل، اتصال بومی برای Apache و LassoScript (با اضافه کردن روش «اسکریپت» به زبان)[۴۷] |
۶ | ۱۷ سپتامبر ۲۰۰۲ | تصویربرداری اضافه شده، دستکاری PDF, XML بومی، ادغام FTP، ریاضیات تاریخ، مدت زمان[۴۸] |
۷ | ۳۰ اوت ۲۰۰۴ | MySQL خارج شده (به علت صدور مجوز)، FileMaker بسته اتصال |
۷٫۱ | ۱۳ سپتامبر ۲۰۰۴ | سازگاری اضافه شده با Filemaker Pro 7[۴۹] |
۸ | ۲۵ اکتبر ۲۰۰۴ | سرور لسو به "سایت" جداگانه برای ارائه دهندگان میزبانی وب تقسیم شدهاست. |
۸٫۱ | ۱۹ سپتامبر ۲۰۰۵ | ذخیره سند سند، رفع ثبات[۵۰] |
۸٫۵ | ۹ ژوئن ۲۰۰۶ | یکپارچه سازی کامل AJAX، چندین منبع داده منبع بهطور پیش فرض برای FileMaker, FileMaker سرور پیشرفته، MySQL, SQLite, MS SQL سرور، Sybase، اوراکل، PostgreSQL, OpenBase, ODBC، و موتور Spotlight اپل اضافه شدهاست[۵۱] |
۹ | ۲۹ ژانویه ۲۰۱۰ | تغییر عمده معماری: نحو بیشتر، تایپ قوی با تایپ ضعیف، جمعآوری JIT، سریال سازی بومی، پشتیبانی ۶۴ بیتی[۵۲] |
۸٫۶ | ۲۰ آوریل ۲۰۱۱ | سرعت، ثبات افزایش یافتهاست[۵۳] |
۹٫۱ | ۱۱ ژوئیه ۲۰۱۱ | رابط کاربری جدید، اتصال ۶۴ بیتی، مجوز جدید SAS[۵۴] |
۹٫۲ | ۱ ژوئن ۲۰۱۲ | پشتیبانی از ویندوز اضافه، اشکال زدایی یکپارچه، پروفیل کد یکپارچه[۵۵] |
۹٫۳ | ۲۳ ژانویه ۲۰۱۵ | رابط کاربری جدید، روش جدید تدوین، گسترش سرور متمرکز[۵۶] |
در اینجا سه راه برای گفتن "Hello World" در یک صفحه Lasso.
<?lasso 'Hello World!' ?>
['Hello world!']
Hello world!
براکتهای مربعی در Lasso رزرو میشوند، بنابراین برای ساختن عناصر HTML باید علامت مربع در صفحات Lasso برای اهداف دیگر استفاده شود تا از علامت گذاری برچسبهای لاسو. متناوباً، چاپ مربع میتواند توسط لاسو باشد یا توسط [no_square_brackets] در بالای فایل غیرفعال شود.
// Find all records in a table
inline(
-database='db_name',
-table='table_name',
-findall
) => {
// Iterate through and process each row
rows => {
// Output each row to the current web request
content_body += '<a href="' + column('url') + '">' + column('title') + '</a>'
}
}
Inlines ابزار پایه لاسو برای اقدامات پایگاه دادهاست. دستورات پایگاه داده را میتوان به صورت فوق در زبان Metz زبان مستقل از زبان Lasso صادر کرد، در این صورت همان کد جستجو برای MySQL, FileMaker Pro یا برای هر پایگاه داده دیگری که Lasso میتواند به آن متصل شود، کار میکند. در صورت نیاز، در هنگام استفاده از یک سرور پایگاه دادهای که از SQL پشتیبانی میکند، بیانیه SQL میتواند به صورت خطی تعبیه شود:
// Execute SQL statement
inline(
-database='db_name',
-sql = 'SELECT * FROM table_name'
)...
در مثال بالا، خط تیره (-) قبل از دستورات پارامترهای اختیاری را نشان میدهد. اینها را میتوان در هر منظور مشخص کرد و به صورت پویا تولید کرد. آخرین پارامترهای هر تکراری برتری دارند. فرمان inline از طیف وسیعی از پارامترها پشتیبانی میکند[۵۷] اجازه میدهد که توسعه دهندگان با پایگاههای داده ارتباط برقرار کنند که ممکن است دانش آنها را درک نکنند.
اتصال به پایگاه داده سفارشی ایجاد میشود که امکان استفاده از ماهیت انتزاعی فرمان inline را میدهد.
مثال رویه بعدی شعرهای "۹۹ بطری آبجو" را چاپ میکند.
// Define a couple of useful methods
define br => '{{سخ}}'
define bottles(n::integer) => #n != 1 ? ' bottles' | ' bottle'
// Declare the local that will store the lyrics as a string
local(out = '')
// Use Lasso query syntax to generate the lyric
with n in 99 to 1 by -1 do {
#out += #n + bottles(#n) + ' of beer on the wall, ' + br
#out += #n + bottles(#n) + ' of beer; ' + br
#n--
#out += 'Take one down, pass it around, ' + br
#out += #n + bottles(#n) + ' of beer on the wall. ' + (br * 2)
}
// Output result
#out
مثال بعدی از یک روش OOP برای چاپ اشعار استفاده میکند وقتی که شی به عنوان یک رشته نمایش داده میشود:
// Define type
define bottles_of_beer => type {
// Define internal data
data private bottles = 99
// Define private methods
private br => '{{سخ}}'
private s => .bottles != 1 ? 's' | ''
// Generate lyrics when object represented as a string
public asstring => {
local(out = '')
// Use Lasso query syntax to generate the lyrics
with n in 99 to 1 by -1 do {
.bottles = #n
#out += .bottles + ' bottle' + .s + ' of beer on the wall, ' + .br
#out += .bottles + ' bottle' + .s + ' of beer; ' + .br
.bottles--
#out += 'Take one down, pass it around, ' + .br
#out += .bottles + ' bottle' + .s + ' of beer on the wall. ' + (.br * 2)
}
// Return result
return #out
}
}
bottles_of_beer
{{cite web}}
: Check date values in: |archive-date=
(help)
{{cite web}}
: Check date values in: |archive-date=
(help)