الحاق Concatenation
الحاق یا Concatenation چیست؟
الحاق (Concatenation) یا الحاق رشته ای (String Concatenation) در زبان های برنامه نویسی به عملی گفته میشود که طی آن رشته هایی از کاراکترها به یکدیگر متصل میشوند.
حاصل این عمل که معمولا به عنوان عملی دوتایی تعریف میشود رشته ای است که از قرار دادن محتوای عملوند دوم پس از محتوای عملوند اول به دست میآید. به عنوان مثال حاصل عمل الحاق روی دو رشته “سلام ” و “دنیا!” رشتهای تازه به صورت “سلام دنیا!” خواهد بود. به وجود کاراکتر فاصله در انتهای رشته اول توجه کنید؛ در صورتی که این کاراکتر را حذف کنید نتیجه به صورت “سلامدنیا!” درمیآید.

الحاق در زبان های برنامه نویسی
عملگر الحاق در زبان های برنامه نویسی معمولا یک عملگر دوتایی یا باینری به شمار میرود. در بسیاری از زبان ها نظیر جاوا (Java) و جاوا اسکریپت (JavaScript) و سی شارپ (C#) و سی پلاس پلاس (C++) از نماد + برای این عملگر استفاده میشود. از جمله نمادهای رایج دیگری که به عنوان عملگر Concatenation در زبان های برنامه نویسی مورد استفاده قرار میگیرد میتوان به نماد نقطه (یا .) در زبان های پی اچ پی (PHP) و پرل (Perl) یا نماد & در زبان ویژوال بیسیک (Visual Basic) اشاره کرد.
در قطعه کد زیر که به زبان جاوا نوشته شده است میتوانید نحوه الحاق دو رشته معمولی برای نمایش در خروجی را مشاهده کنید.
System.out.println("Today is " + "Saturday");
همانطور که در مثال بالا مشخص است میتوان از همان ابتدا این دو رشته را در قالب رشته “Today is Saturday” و بدون استفاده از عملگر الحاق نوشت. اما در مواردی که حداقل یکی از عملوندها دارای مقداری متغیر است استفاده از این عملگر به کمک برنامه نویس خواهد آمد. به عنوان نمونه اگر getWeekDay() تابعی باشد که متناسب با تاریخ فعلی، روز هفته را به شکل یک رشته برمیگرداند قطعه کد زیر برای آن مناسب خواهد بود:
System.out.println("Today is " + getWeekDay());
به عنوان مثالی دیگر فرض کنید در حال توسعه بخشی از یک وب اپلیکیشن هستید و قرار است در بخشی از صفحه با کمک یک اعلان، کاربر را از داشتن یا نداشتن پیام جدید با خبر سازید. در چنین حالتی ممکن است از عمل الحاق برای ایجاد متن اعلان کمک گرفته شود. عملوند اول را میتوانید در قالب رشته ای ثابت با عبارت “پیام جدیدی ” درنظر بگیرید اما عملوند دوم متغیری از نوع رشته خواهد بود و متناسب با اینکه در صندوق ورودی کاربر، پیام جدیدی وجود دارد یا خیر به ترتیب با مقدار “دارید.” یا “ندارید!” ست میشود. پس از الحاق این دو عملوند، متن اعلان به صورت “پیام جدیدی دارید.” یا “پیام جدیدی ندارید!” ساخته میشود.
علاوه بر این در برخی از زبان ها به جای استفاده از عملگر میتوان از متدهای ویژهای برای اتصال رشته ها به یکدیگر کمک گرفت. برای مثال در زبان جاوا متد concat() از کلاس String برای همین منظور در نظر گرفته شده است.
مفاهیم مرتبط
عمل الحاق به برخی از حوزه های دیگر نیز به شکلی مشابه تعمیم داده میشود. به عنوان مثال در نظریه زبان فرمال، عمل الحاق زبان ها (یا مجموعه هایی از رشته ها) به این ترتیب تعریف میشود که اگر A و B دو زبان فرمال باشند آنگاه عمل الحاق آن ها شامل تمام رشته هایی به صورت vw خواهد بود که v رشته ای از A و w رشته ای از B باشد. با فرض اینکه A={ab,ac,c} و B={e,ef} باشد حاصل عمل فوق روی این دو زبان به صورت AB={abe,ace,ce,abef,acef,cef} خواهد بود.
پیوندهای پیشنهادی تک دیک