رشته ها - 1 | آموزش دارت - جلسه 003

در جلسه اول، تابع پرینت رو فرا گرفتیم و یاد گرفتیم چطوری ازش استفاده کنیم. در جلسه دوم 4 تا دیتا تایپ یاد گرفتیم و همچنین انواع الحاق ها رو هم توضیح دادیم. در جلسه دوم همچنین یاد گرفتیم چطوری در الحاق، از عملگر ها هم استفاده کنیم. برای مثال میخواستیم که موقع چاپ سن، یه عدد به اون سن اضافه بشه.

int age = 18;
print(&quotOne plus the $age is ${age + 1}&quot);

اما ولی قراره این جلسه بیشتر در رابطه با رشته ها یاد بگیریم. اول از همه بریم به سوالی که جلسه قبل پرسیدیم جواب بدیم.

حل سوال جلسه 002

اگه بخوایم خروجی مانند زیر بخوایم بگیریم،‌چطوری باید همچین کدی رو بنویسیم؟

Temp is 25C.

شاید اول همه خیلی راحت این جواب به ذهنتون برسه:

print(&quotTemp is $tempC&quot);

نه. این جواب درست نیست. چرا؟ شما دارید حرف C رو میچسبونید به اسم متغیر. یعنی اینطوری دارت فکر میکنه یه متغیر به اسم tmepC وجود داره و نمیتونه پیدا کنه. راه درست چیه؟ شما میتونید متغیر رو باز داخل {} ها قرار بدید. اینطوری وقتی شما C رو میچسبونید به متغیر،‌ دیگه مشکلی بوجود نمیاد.

print(&quotTemp is ${$temp}C&quot);

این بود جواب سوال جلسه قبل. بریم سر موضوعات این جلسه.

تا حالا شده توی یه رشته بخواید چند دفعه از ' یا " استفاده کنید. معمولا این مسئله بین هر زبانی یه طور هست. یعنی شما ممکنه رشته رو با ' شروع کرده باید و وسطش بخواید یکی دیگه استفاده کنید. برای مثال:

Now I'm feeling good.

دقت کرده باشید، بین i و m از ' استفاده شده. فرض میگیریم که رشته رو با ' شروع کردیم. یعنی:

print('Now I'm feeling good!');

اینجا برنامه وقتی به اولین ' که وسط هست میرسه، اون رشته رو میبنده. چون فکر میکنه تموم شده. اما ولی راه درست کردن این موضوع، دو تا روش هست. روش اول استفاده از \ و روش دوم استفاده از ".

روش اول یعنی شما قبل از اون سینگل کوتیشن، یه \ بزارید. وقتی گذاشتید میتونید بعدش ' رو بزارید و برنامه بدون مشکل کار کنه.

print('Now I\'m feeling good!');

اما ولی روش دوم ساده تره. روش دوم میاد میگه که رشته رو با دابل کوتیشن شروع کنید و وسطش خیلی راحت سینگل رو بزارید.

print(&quotNow I'm feeling good!&quot);

قسمت دوم جلسه سه، کارکتر های خاص هستن. تا الان، با $ و \ آشنا شدیم. اما ولی یه سوال. شما وقتی بخواید آدرس یه فایل رو چاپ کنید، وقتی از \ استفاده کنید، آیا بهتون همون خروجی رو میده؟

print(&quotDir is: \home\user\Downloads&quot);

نه، این روش روش درستی نیست چرا که برنامه همچین اروری رو تقدیم میکنه:

Error: An escape sequence starting with '\u' must be followed by 4 hexadecimal digits or from 1 to 6 digits between '{' and '}'.
  print(&quotDir is: \home\user\Downloads&quot);
Error: Compilation failed.

پس اگه بخوایم \ رو چاپ کنیم، چی باید بنویسیم؟ از همون دو تا بزارید. یعنی:

print(&quotDir is: \\home\\user\\Downloads&quot);

پس تا الان یه کارکتر خاص یادگرفتیم. یعنی \\ در واقع یعنی یک \ که در cli چاپ میشود.
کارکتر بعدی $ میباشد. شما خالی خالی نمیتونید اینو چاپ کنید. یعنی مثلا کد زیر اشتباه میباشد:

print(&quotYou have 10 $&quot);

چرا اشتباهه؟ چون دارت میخواد بعد از $ یه متغیر بگیره. ولی ما متغیری نداریم. یعنی اون خالی میمونه و ارور میده. روش درست کردنش به این شکل هست که به جای $ از $\ استفاده کنیم. اینطوری، فقط $ چاپ میشه.

print(&quotWe have 20 \$&quot);

آخرین قسمت این جلسه درباره این هست که بدون استفاده از \ راحت کارکتر هایی مثل \ و $ رو چاپ کنیم.

برای این کار نیاز هست شما قبل شروع شدن کوتیشن،‌ حرف r رو قرار بدید.

print(r&quotFile is in /home/amir/Downloads and They have 50 $&quot);

وقتی شما r رو قرار میدید، دیگه نیازی نیست که برای $ از $\ استفاده کنید و برای \ از دو تا \.

این بود جلسه سوم، آشنایی بیشتر با رشته ها و استفاده از اون ها. رشته ها خیلی طولانی نیستند.


چیت شیت این جلسه داخل گیتهاب دارتیانز موجود هست میتونید از طریق این لینک مشاهده کنید.

به کانال تلگرام ما هم بپیوندید چون مسابقات،‌ چالش ها و غیره همه داخل کانال و گروه اطلاع رسانی میشه.

Channel: @Dartians

Group: @Dartians_Chat


اگه سوالی داشتید حتما بپرسید. جلسه های 001 و 002 داخل تلگرام بودند اگه اونا رو از دست دادید حتما ببینید.


تا جلسه بعدی خدانگهدار.