رشتهها در برنامه نویسی آردوینو ، دومین نوع رشته که در برنامه نویسی آردوینو استفاده میشود شیء رشته است.
شیء چیست؟
شیء ساختاری است که هم شامل داده است و هم شامل تابع. یک شیء رشته میتواند مشابه یک متغیر ساخته و مقداردهی شود. شیء رشته شامل توابعی است (که در برنامه نویسی شیء گرا (OOP) متد نامیده میشود) که میتواند بر روی دادههای رشتهای موجود در شیء رشته عمل کند.
مثال :
void setup() { String my_str = "This is my string."; Serial.begin(9600); // (1) print the string Serial.println(my_str); // (2) change the string to upper-case my_str.toUpperCase(); Serial.println(my_str); // (3) overwrite the string my_str = "My new string."; Serial.println(my_str); // (4) replace a word in the string my_str.replace("string", "Arduino sketch"); Serial.println(my_str); // (5) get the length of the string Serial.print("String length is: "); Serial.println(my_str.length()); } void loop() { }
نتیجه:
This is my string. THIS IS MY STRING. My new string. My new Arduino sketch. String length is: 22
یک شیء رشته در ابتدای برنامه آردوینو (sketch) ساخته و مقداردهی میشود.
String my_str = "This is my string." ;
این کد یک شیء رشته با نام my_str ایجاد می کند و مقدار رشته ای “This is my string.” در آن ریخته میشود. این مثال را میتوانید با ساختن یک متغیر و مقداردهی به آن مانند یک مقدار صحیح مقایسه کنید.
int my_var = 102;
این کد مطابق توضیحات زیر عمل میکند.
چاپ رشته:
درست مانند یک رشته آرایهای رشته ایجاد شده میتواند در خروجی سریال چاپ شود.
تبدیل حروف رشته به حرف بزرگ:
شیء رشته my_str که ساخته شده است شامل تعدادی تابع یا متد است که میتواند بر روی آن عمل کند. برای فراخوانی این توابع باید ابتدا نام شی را نوشته و سپس یک نقطه (.) قرار دهیم و سپس نام تابعی که میخواهیم آن را اجرا کنیم بنویسیم.
my_str.toUpperCase();
تابع ()toUpperCase بر روی رشته موجود در شیء my_str عمل میکند و حروف آن را تبدیل به حروف بزرگ میکند. لیست توابعی که در کلاس رشته وجود دارد را میتوانید در بخش مرجع رشتههای آردوینو مشاهده کنید. به طور دقیقتر، رشته یک کلاس است و از آن برای ساخت شیء رشته استفاده میشود.
نوشتن بر روی یک رشته:
از عملگر تخصیص مقدار (=) میتوان برای نوشتن یک رشته بر روی شیء my_str استفاده نمود.
my_str = "My new string." ;
از عملگر تخصیص مقدار نمیتوان بر روی رشتههای آرایهای استفاده نمود اما بر روی شیء رشته قابل استفاده است.
جایگزینی یک کلمه در رشته:
از تابع ()replace برای جایگزینی رشته اول که به آن داده میشود به جای رشته دومی که به آن داده میشود استفاده میشود. تابع ()replaceدر درون کلاس رشته قرار گرفته است و میتوان از آن بر روی شیء رشته my_str استفاده نمود.
به دست آوردن طول رشته:
از تابع ()length برای به دست آوردن طول رشته (تعداد کاراکترها) استفاده میشود. در کد مثال زده، نتیجهای که توسط تابع ()length برگردانده میشود مستقیما و بدون متغیر واسطی به ()Serial.println ارسال میشود.
چه زمانی از شیء رشته استفاده کنیم؟
استفاده از شیء رشته آسان تر از استفاده از آرایهای از کاراکترها است. شیء دارای توابعی داخلی است که میتوان از آنها برای انجام عملیات بر روی رشته استفاده نمود.
عیب استفاده از شیء رشته فضای زیادی است که اشغال میکند و حافظه RAM آردوینو را به سرعت کاهش میدهد که باعث میشود آردوینو در اجرای برنامه دچار مشکل شده و یا رفتار غیرقابل پیشبینی از خود نشان دهد.
اگر برنامه آردوینو شما کوچک است و استفاده از شیء رشتهها نیز محدود است مشکلی پیش نخواهد آمد.
استفاده از آرایههای کاراکتری مشکل است و شما باید خودتان توابع لازم برای اعمال تغییرات بر روی رشته را بنویسید. مزیت استفاده از آرایههای کاراکتری آن است که شما کنترل کاملی بر روی اندازه رشته دارید و میتوانید اندازه رشتهها را برای استفاده کمتر از حافظه کاهش دهید.
در هنگام استفاده از آرایههای کاراکتری باید حواستان جمع باشد که رشته ای بیش از ظرفیت تعریف شده در آن ذخیره سازی نکنید اما در استفاده از شیء رشتهها این مشکل وجود ندارد.
در چه کاربردهایی از رشتهها استفاده میشود؟
در این فصل در مورد رشتهها مطالعه کردیم، این که چگونه آنها در حافظه عمل میکنند و نحوه اجرای عملیات بر روی آنها را یاد گرفتیم.
خیلی ممنون از اینکه ما را برای یادگیری رشتهها در برنامه نویسی آردوینو انتخاب کردهاید.
منبع: میکرودیزاینرالکترونیک