توسعه دهنده نرم افزار. amirhossein.info
رشته ها - 1 | آموزش دارت - جلسه 003
در جلسه اول، تابع پرینت رو فرا گرفتیم و یاد گرفتیم چطوری ازش استفاده کنیم. در جلسه دوم 4 تا دیتا تایپ یاد گرفتیم و همچنین انواع الحاق ها رو هم توضیح دادیم. در جلسه دوم همچنین یاد گرفتیم چطوری در الحاق، از عملگر ها هم استفاده کنیم. برای مثال میخواستیم که موقع چاپ سن، یه عدد به اون سن اضافه بشه.
int age = 18;
print("One plus the $age is ${age + 1}");
اما ولی قراره این جلسه بیشتر در رابطه با رشته ها یاد بگیریم. اول از همه بریم به سوالی که جلسه قبل پرسیدیم جواب بدیم.
حل سوال جلسه 002
اگه بخوایم خروجی مانند زیر بخوایم بگیریم،چطوری باید همچین کدی رو بنویسیم؟
Temp is 25C.
شاید اول همه خیلی راحت این جواب به ذهنتون برسه:
print("Temp is $tempC");
نه. این جواب درست نیست. چرا؟ شما دارید حرف C رو میچسبونید به اسم متغیر. یعنی اینطوری دارت فکر میکنه یه متغیر به اسم tmepC وجود داره و نمیتونه پیدا کنه. راه درست چیه؟ شما میتونید متغیر رو باز داخل {} ها قرار بدید. اینطوری وقتی شما C رو میچسبونید به متغیر، دیگه مشکلی بوجود نمیاد.
print("Temp is ${$temp}C");
این بود جواب سوال جلسه قبل. بریم سر موضوعات این جلسه.
تا حالا شده توی یه رشته بخواید چند دفعه از ' یا " استفاده کنید. معمولا این مسئله بین هر زبانی یه طور هست. یعنی شما ممکنه رشته رو با ' شروع کرده باید و وسطش بخواید یکی دیگه استفاده کنید. برای مثال:
Now I'm feeling good.
دقت کرده باشید، بین i و m از ' استفاده شده. فرض میگیریم که رشته رو با ' شروع کردیم. یعنی:
print('Now I'm feeling good!');
اینجا برنامه وقتی به اولین ' که وسط هست میرسه، اون رشته رو میبنده. چون فکر میکنه تموم شده. اما ولی راه درست کردن این موضوع، دو تا روش هست. روش اول استفاده از \ و روش دوم استفاده از ".
روش اول یعنی شما قبل از اون سینگل کوتیشن، یه \ بزارید. وقتی گذاشتید میتونید بعدش ' رو بزارید و برنامه بدون مشکل کار کنه.
print('Now I\'m feeling good!');
اما ولی روش دوم ساده تره. روش دوم میاد میگه که رشته رو با دابل کوتیشن شروع کنید و وسطش خیلی راحت سینگل رو بزارید.
print("Now I'm feeling good!");
قسمت دوم جلسه سه، کارکتر های خاص هستن. تا الان، با $ و \ آشنا شدیم. اما ولی یه سوال. شما وقتی بخواید آدرس یه فایل رو چاپ کنید، وقتی از \ استفاده کنید، آیا بهتون همون خروجی رو میده؟
print("Dir is: \home\user\Downloads");
نه، این روش روش درستی نیست چرا که برنامه همچین اروری رو تقدیم میکنه:
Error: An escape sequence starting with '\u' must be followed by 4 hexadecimal digits or from 1 to 6 digits between '{' and '}'.
print("Dir is: \home\user\Downloads");
Error: Compilation failed.
پس اگه بخوایم \ رو چاپ کنیم، چی باید بنویسیم؟ از همون دو تا بزارید. یعنی:
print("Dir is: \\home\\user\\Downloads");
پس تا الان یه کارکتر خاص یادگرفتیم. یعنی \\ در واقع یعنی یک \ که در cli چاپ میشود.
کارکتر بعدی $ میباشد. شما خالی خالی نمیتونید اینو چاپ کنید. یعنی مثلا کد زیر اشتباه میباشد:
print("You have 10 $");
چرا اشتباهه؟ چون دارت میخواد بعد از $ یه متغیر بگیره. ولی ما متغیری نداریم. یعنی اون خالی میمونه و ارور میده. روش درست کردنش به این شکل هست که به جای $ از $\ استفاده کنیم. اینطوری، فقط $ چاپ میشه.
print("We have 20 \$");
آخرین قسمت این جلسه درباره این هست که بدون استفاده از \ راحت کارکتر هایی مثل \ و $ رو چاپ کنیم.
برای این کار نیاز هست شما قبل شروع شدن کوتیشن، حرف r رو قرار بدید.
print(r"File is in /home/amir/Downloads and They have 50 $");
وقتی شما r رو قرار میدید، دیگه نیازی نیست که برای $ از $\ استفاده کنید و برای \ از دو تا \.
این بود جلسه سوم، آشنایی بیشتر با رشته ها و استفاده از اون ها. رشته ها خیلی طولانی نیستند.
چیت شیت این جلسه داخل گیتهاب دارتیانز موجود هست میتونید از طریق این لینک مشاهده کنید.
به کانال تلگرام ما هم بپیوندید چون مسابقات، چالش ها و غیره همه داخل کانال و گروه اطلاع رسانی میشه.
Channel: @Dartians
Group: @Dartians_Chat
اگه سوالی داشتید حتما بپرسید. جلسه های 001 و 002 داخل تلگرام بودند اگه اونا رو از دست دادید حتما ببینید.
تا جلسه بعدی خدانگهدار.
مطلبی دیگر از این انتشارات
رشته ها - 2 و 3 | آموزش دارت جلسات 004 و 005
مطلبی دیگر از این انتشارات
آموزش دارت جلسه 006 | تبدیل دیتا تایپ ها
بر اساس علایق شما
چرا کسی به من نگفته بود؟