Pure Coder
792 subscribers
189 photos
30 videos
8 files
151 links
⭕️آدرس سایت:
https://purecoder.ir

⭕️گروه پرسش و پاسخ:
@purecoder_gp

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
🔥Challenge

میخوام یه variable تعریف کنم که امکان این رو داشته باشه که مقادیری از هر تایپی داخلش بریزم...

دو تا انتخاب میتونم داشته باشم :‌
1) Object myVariable
2) dynamic myVariable

این دو حالت چه تفاوت هایی با هم دارن و هر کدوم برای چه کاربرد هایی خوبن ؟
#challenge
#dart_challenge
#intermediate
👍1
🔥Challenge
⚡️⚡️Dart 2.15⚡️⚡️
Constructor tear-offs

توی پست های قبلی و یه مقاله اختصاصی در مورد function ها و وقتی که از یه function بدون پرانتز استفاده میکنیم صحبت کردیم.

حالا توی ورژن جدید Dart یه قابلیت مشابه برای constructor ها ارایه شده...
هرچی راجب این قابلیت و کاربردهاش میدونی بگو...
#challenge #dart_challenge
#intermediate
🔥Challenge
⚡️⚡️Future⚡️⚡️

هر چی راجب Future میدونید بگید 😅
که توی پست های بعدی بازش کنیم...

مشارکت کنید آقا مشارکت کنید
ساعت ۱ نصف شب کی مشارکت میکنه اخه 😂😂

#dart_challenge #challenge
💊Capsule
⚡️⚡️Future⚡️⚡️
1⃣

همتون تا حالا کلمه پوش نوتیفیکشن رو شنیدین..
وقتی که یه event رو از سمت سرور میفرستیم به سمت کلاینت، اصطلاحن میگیم که داریم اون event رو push میکنیم.

حالا چرا اینو گفتم؟
صبر کن و تا اخر بخون...

دو تا واژه زیر رو ببین
Pull کشیدن
Push هل دادن

شما وقتی به سرور یه رکوئست میزنی و یه چیزی ازش میگیری در واقع داری یه اطلاعاتی رو از سرور واکشی میکنی (pull)

وقتی که سرور توی یه فرایند real time برات یه event میفرسته داره یه چیزی رو به سمت تو push میکنه.

🔥حالا بیایم توی دنیای خودمون و دنیای فانکشن ها.

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

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

🔥در مقابل اینا یه نوع دیگه از فانکشن ها هستن که همون موقع که صداش بزنی بهت خروجی رو نمیده و میگه صبر کن صبر کن صبر کن صبر کن.... تا من در اینده بهت یه جوابی بدم

بهت میگه منو ک صدا زدی میتونی بری به کارای دیگت برسی و من در اینده یه جوابی رو برات push میکنم.
در واقع اینجا اختیار عمل اینکه که چه زمانی جواب بیاد دیگه با تو نیست (مثل همون پوش نوتیف که از سرور میومد و نمیدونستی که قراره کی بیاد)

🔥پس دو نوع فانکشن داریم :

✔️معمولی :
همون موقع کال شدن جواب میده
ما اختیار داریم که کی اطلاعات ازش بگیریم.
از نوع pull هست.

✔️نوع Future
همون موقع کال شدن جواب رو برنمیگردونه و در اینده یه جوابی رو برامون push میکنه
اختیار اینکه که کی جواب بیاد دیگه با ما نیست
از نوع push هست.

#capsule #dart
👍17🤩3👎1
💊Capsule
⚡️⚡️Future⚡️⚡️
2⃣

حالا از اون پرت و بلاهایی که توی پست قبلی گفتم 😂😂فاصله بگیریم و ببیینم که future در عمل چکار میکنه.

چطوری یک function رو future کنیم.

myFunc() async{}

این رو که همه میدونن، مگه نه؟
با گذاشتن کلمه کلیدی async باعث میشیم که فانکشن مورد نظر future بشه و مقداری که بر میگردونه از نوع future باشه.

ینی چی؟ 🤔

ینی قبلن میگفتیم...
String myFunc() {... }
هر موقع اینو کال میکردیم یه String بهمون میداد .

ولی الان میگیم...
Future<String> myFunc() async {.... }

و هر موقع اینو کال میکنیم یه
Future<String>
بهمون میده.

حالا این دقیقن ینی چه؟ 🤔
بهش فک کنید...
دقیق فک کنید.

توی پست های بعدی بازش میکنیم.
#dart #capsule
👍11
💊Capsule
⚡️⚡️Future⚡️⚡️
3⃣
گفتیم که با async کردن یه فانکشن نوع خروجی اون از جنس Future میشه.

خب Future چی هست؟ 🤔
A Future is an object that will be completed in the future with a value or an error.

گفتم یکم انگلیسی هم بخونید 😅
این جمله چی میگه؟ 🤔

میگه future یک object هست که در آینده با یک مقدار (value )یا یک ارور تکمیل میشه.

🔥ینی شما یک فانکشن async رو کال میکنی و این فانکشن به شما یه object از جنس Future برمیگردونه.
این Future object به خودی خودش و در اون لحظه هیچی نداره و میگه من در اینده مشخص میشه که چه چیزی دارم.

✔️حالا در اینده ممکنه با یه مقدار یا value تکمیل بشم و یه مقدار به تو بدم.

✔️یا ممکنه با یه ارور تکمیل بشم و یه ارور بهت بدم.

🔥پس تو باید هر دو حالت رو در نظر بگیری
🔥یه future دو حالت داره یا value یا error و هر دو رو باید در نظر بگیری.
🔥مقداری که future باهاش ممکنه تکمیل بشه رو با generic type اش مشخص میکنیم.
مثلن
Future<String>
یا با یه ولیو از جنس String تکمیل میشه یا با یه ارور.

🔥نکته مهم.
به جمله انگلیسی که نوشتم توجه کنید
نوشتم
will ....
کسایی که گرامر زبان میدونن (البته من هیچ ادعایی در زبان ندارم 😅🤦‍♂)
ولی با این ساختار یه جورایی دارم یه پیش بینی میکنم....
ینی پیش بینی میکنم که این object در اینده با یه ولیو یا ارور تکمیل میشه.

یعنی ممکنه اصن توی life time اپ تکمیل هم نشه و تا اخر پا در هوا بمونه 😅
#dart #capsule
👍14