Tag Archives: رشته

الحاق Concatenation

الحاق یا Concatenation چیست؟

الحاق (Concatenation) یا الحاق رشته ای (String Concatenation) در زبان های برنامه نویسی به عملی گفته می‌شود که طی آن رشته هایی از کاراکترها به یکدیگر متصل می‌شوند.

حاصل این عمل که معمولا به عنوان عملی دوتایی تعریف می‌شود رشته ای است که از قرار دادن محتوای عملوند دوم پس از محتوای عملوند اول به دست می‌آید. به عنوان مثال حاصل عمل الحاق روی دو رشته “سلام ” و “دنیا!” رشته‌ای تازه به صورت “سلام دنیا!” خواهد بود. به وجود کاراکتر فاصله در انتهای رشته اول توجه کنید؛ در صورتی که این کاراکتر را حذف کنید نتیجه به صورت “سلامدنیا!” درمی‌آید.

الحاق 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} خواهد بود.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

رشته String

رشته یا String چیست؟

رشته (String) اصطلاحی است که معمولا در برنامه‌نویسی به دنباله‌ای از کاراکترها اطلاق می‌شود. در اکثر زبان‌های برنامه‌نویسی نیز نوع داده‌ای به همین نام وجود دارد.

برای پیاده‌سازی، می‌توان رشته‌ها را به صورت آرایه‌ای از بایت‌ها در نظر گرفت که مجموعه‌ای از عناصر (معمولا کاراکترها) را در خود نگه‌داری می‌کند. در بسیاری از زبان‌های برنامه نویسی، نمونه‌های از این نوع داده به صورت عبارتی که در داخل علامت کوتیشن قرار گرفته است بیان می‌شود.

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

طول رشته (تعداد عناصر یا کاراکترها) در برخی از زبان‌های برنامه نویسی به صورت یک عدد صحیح ذخیره می‌شود. با توجه به اینکه از این روش در زبان Pascal استفاده می‌شود چنین رشته‌هایی به Pascal String مشهورند. در برخی زبان‌های دیگر با کمک یک کاراکتر تعیین کننده انتها (که به کاراکتر تهی یا NULL مشهور است)، طول رشته تشخیص داده می‌شود. در این نوع رشته‌ها که به C String نیز مشهورند یک رشته n کاراکتری به n+1 فضا برای نگه‌داری کاراکترهای رشته و کاراکتر تهی (در انتها) نیاز دارد.

در اغلب زبان‌های برنامه نویسی، توابع زیادی برای پردازش رشته‌های کاراکتری (نظیر جستجو) و دستکاری آن‌ها (نظیر الحاق دو رشته به یکدیگر) تعریف شده است. یکی از مهم‌ترین این توابع که معمولا با نام length شناخته می‌شود قادر است طول رشته را برگرداند. در مثال زیر که به زبان C++ نوشته شده از این تابع استفاده شده است:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
   string str ("Techdic");
   cout << "The length of str is " << str.length();
}

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا