موضوع مقاله: گلوب (برنامه‌نویسی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # گلوب (برنامه‌نویسی) | مقدمه: در برنامه‌نویسی کامپیوتری، الگوهای گلوب مجموعه ای از نام فایل‌ها را با کاراکترهای عمومی مشخص می‌کنند. | ## بخش 1: گلوب (برنامه‌نویسی) | علامت عمومی * در اینجا به معنی "هر رشته‌ای با هر طولی از جمله طول صفر، اما به استثنای کاراکترهای جداکننده مسیر (/ در یونیکس و \ در ویندوز)" است. علاوه بر تطبیق نام فایل‌ها، از گلوب‌ها به‌طور گسترده برای تطبیق رشته‌های مختلف (تطبیق حروف عمومی) نیز استفاده می‌شود. مفسرهای دستور نسخه‌های اولیه یونیکس (نسخه‌های اول تا ششم، ۱۹۶۹–۱۹۷۵) به برنامه‌ای جداگانه متکی بودند تا کاراکترهای عمومی درون آرگومان‌های نقل قول نشده را به یک دستور گسترش دهد: /etc/glob. آن برنامه گسترش را انجام می‌داد و لیست مسیرهای گسترش یافته را برای دستور، به منظور اجرا شدن، فراهم می‌کرد. این اولین نرم‌افزار خط اصلی یونیکس بود که با استفاده از یک زبان برنامه‌نویسی سطح بالا توسعه یافت. بعدها، این قابلیت به صورت یک تابع کتابخانه زبان سی به انگلیسی | C ، glob ارائه شد که توسط برنامه‌هایی مانند شل استفاده می‌شد. برنامه‌ای که از این تابع استفاده می‌کند می‌تواند بر روی مجموعه ای از رشته‌ها (معمولا نام فایل‌ها) حرکت کند تا مشخص کند کدام رشته‌ها مطابقت دارند. ایده تعریف یک تابع تطبیق جداگانه با wildmat (تطابق کارت عمومی) که یک کتابخانه ساده برای تطبیق رشته در مقابل گلوب بش به انگلیسی | bash است شروع شد. علامت شرح مثال مطابقت دارد مطابقت ندارد با هر تعداد کاراکتر از حرف‌ها از جمله هیچ حرف مطابقت دارد , ، یا , ، یا , , یا . | ## بخش 2: گلوب (برنامه‌نویسی) | یا با هر کاراکتر تک مطابقت دارد , , یا با یکی از کاراکتر داده شده درون براکت مطابقت دارد یا , یا با یک کاراکتر از محدوده داده شده در براکت مطابقت دارد , , تا , یا معمولاً، کاراکتر جداکننده مسیر ( در لینوکس/یونیکس، MacOS، و غیره یا در ویندوز) هرگز مطابقت نخواهد داشت. برخی از شل‌ها، مانند Bash، قابلیت ای دارند که به کاربران اجازه می‌دهد تا این مورد را دور بزنند. Bash Reference Manual شبه‌یونیکس در سیستم‌های شبه یونیکس , به صورت بالا تعریف شده‌اند، در صورتی که دو معنی اضافه دارد: علامت شرح مثال مسابقات مطابقت ندارد با یک کاراکتر که در براکت ذکر نشده است مطابقت دارد , یا با یک کاراکتر مطابقت دارد که از محدوده داده شده در براکت نیست ، ، تا و و غیره. ، ، یا محدوده‌ها همچنین می‌توانند کلاس‌های کاراکتر از پیش تعریف‌شده، کلاس‌های هم ارز برای کاراکترهای تأکیدی، و نمادهای مشابه برای کاراکترهایی که تابپ کردن آن‌ها دشوار است را شامل شوند. عبارت case که توسط پازیکس الزام شده در پوسته‌ها تطبیق الگو را با استفاده از الگوهای glob فراهم می‌کند. برخی از پوسته‌ها (مانند پوسته C و Bash) از نوشتارهای اضافی که به با عنوان‌های متناوب یا گسترش شاخه شناخته می‌شود نیز پشتیبانی می‌کنند. از آنجایی این نوشتارهای اضافی بخشی از نوشتار گلوب نیستند، در case ارائه نشده‌اند. پوسته بش از افزونه‌های زیر نیز پشتیبانی می‌کند: گلوبینگ گسترش یافته (extglob): به دیگر عملگرهای تطبیق الگو اجازه می‌دهد تا برای تطبیق چندین رخداد یک الگوی محصور درون پرانتز استفاده شوند. globstar: به ** به تنهایی به عنوان یک جزء نام اجازه می‌دهد تا به صورت بازگشتی هر تعداد از لایه‌های پوشه‌های غیر مخفی را مطابقت دهد. | ## بخش 3: گلوب (برنامه‌نویسی) | نسخه اصلی داس به انگلیسی | DOS مشابه سی‌پی/ام به انگلیسی | CP/M بود که برای کار بر روی پردازنده‌های 8088 و ۸۰۸۶ اینتل طراحی شده بود. پوسته‌های ویندوز، به دنبال DOS، به‌طور سنتی هیج گسترش گلوب ای روی مقادیر ارسال شده به برنامه‌های خارجی انجام نمی‌دهند. برنامه‌های ویندوز و داس به‌جای پارامترهایی به سبک argv، یک رشته خط فرمان طولانی دریافت می‌کنند و انجام هرگونه تقسیم، نقل‌قول، یا گسترش با استفاده از گلوب وظیفه خودشان است. در واقع، هیچ روش ثابتی برای توصیف حروف عمومی در برنامه‌ها وجود ندارد، زیرا آنها آزاد هستند تا آنچه را که می‌خواهند انجام دهند. دو گسترش دهنده گلوب رایج عبارتند از: گسترش دهنده خط فرمان اجرا کننده C مایکروسافت (msvcrt)، که فقط از و پشتیبانی می‌کند. بیشتر بخش‌های دیگر ویندوز، از جمله سرویس نمایه گذاری، از روش استفاده شده توسط MS-DOS برای حروف عمومی که در CMD یافت می‌شود استفاده می‌کنند. یک یادگاری از زمان نام فایل ۸٫۳، این نوشتار توجه ویژه ای به نقاط در الگو و متن (نام فایل) دارد. حروف عام رایج حروف SQL شرح با هر کاراکتر تک مطابقت دارد با هر تعداد کاراکتر از جمله صفر کاراکتر مطابقت دارد اگرچه اصطلاح "گلوب" به‌طور کلی در جامعه SQL استفاده نمی‌شود، اما SQL استاندارد در عملگر LIKE خود از یک نوشتار شبه گلوب برای تطبیق رشته ساده استفاده می‌کند. بسیاری از پیاده‌سازی‌های SQL عملگر LIKE را گسترش داده‌اند تا به زبان تطبیق الگوی غنی‌تری دست یابند که محدوده کاراکترها ، وجود نداشتن آنها، و عناصر عبارات منظم را در خود بگنجانند. | ## جمع‌بندی | در مقایسه با عبارات منظم گلوب‌ها شامل نوشتاری برای ستاره کلین نیست که امکان تکرار چندگانه قسمت قبلی عبارت را فراهم می‌کند؛ بنابراین آنها عبارات منظم در نظر گرفته نمی‌شوند که (عبارات منظم) می‌تواند مجموعه کامل زبان‌های منظم را بر روی هر الفبای محدودی توصیف کند.