1 00:00:00,000 --> 00:00:03,332 >> [موسیقی بجانے] 2 00:00:03,332 --> 00:00:06,200 3 00:00:06,200 --> 00:00:09,590 >> DAN AMRMENDARIZ: ہر کوئی، CS50 سیمینار کرنے کا خیرمقدم کرتے، 4 00:00:09,590 --> 00:00:11,690 سوئفٹ کے ساتھ iOS اپلی کیشن ترقی. 5 00:00:11,690 --> 00:00:15,690 میں ڈین Armendariz ہوں، اور میں نے ایک استاد ہوں یہاں ہارورڈ میں کمپیوٹر سائنس کے. 6 00:00:15,690 --> 00:00:21,510 >> اور اگلے گھنٹے کی جا رہی ہے جتنا سامان کی ایک بونڈر دورے 7 00:00:21,510 --> 00:00:25,160 اس موضوع کے بارے میں ہم فٹ کر سکتے ہیں کے طور پر. 8 00:00:25,160 --> 00:00:29,170 میں منبع کوڈ کے تمام پوسٹ کرے گا آپ آن لائن آج دیکھیں گے کہ. 9 00:00:29,170 --> 00:00:31,990 ہم کرنے کے قابل نہیں ہو سکتا ہے اصل میں سب کچھ ختم ہو جانا 10 00:00:31,990 --> 00:00:34,810 میں ہوں کہ ہوں کہ اس گھڑی میں آپ کو دکھا. 11 00:00:34,810 --> 00:00:37,580 لیکن کم سے کم امید ہے کہ کے ذریعے ماخذ کوڈ کے تبصرے، 12 00:00:37,580 --> 00:00:40,830 آپ کو پتہ کرنے کی کوشش کرنے کے قابل ہو جائے گا کیا بالکل ان چیزوں کے لئے کیا ہو رہا ہے 13 00:00:40,830 --> 00:00:42,950 ہم بہت حاصل کرنے کے لئے نہیں ہے. 14 00:00:42,950 --> 00:00:46,970 >> کی مجموعی، ساخت مندرجہ ذیل کے طور پر آج کی بات ہو جائے گا. 15 00:00:46,970 --> 00:00:52,820 ہم کچھ بنیادی کر رہے شروع کریں گے سوئفٹ زبان نحو، 16 00:00:52,820 --> 00:00:56,290 زیادہ اعلی درجے کی میں سے کچھ میں جانے سوئفٹ زبان کی نحو. 17 00:00:56,290 --> 00:00:59,560 زبان کی وجہ سے واقعی جدید اور یہ ہے 18 00:00:59,560 --> 00:01:02,110 اعلی سطح کی ایک بہت ہے خصوصیات، ہم نہیں ہے کہ چیزوں 19 00:01:02,110 --> 00:01:06,600 ، CS50 بھر C میں دیکھا یا یہاں تک کہ کچھ دیگر زبانوں 20 00:01:06,600 --> 00:01:09,310 ہم شروع کر دیا ہے پی ایچ پی کی طرح CS50 میں استعمال کر رہے ہیں، 21 00:01:09,310 --> 00:01:12,670 تو میں کوشش کرنے کے لئے جا رہا ہوں بھی کچھ موضوعات متعارف کرانے ہے کہ 22 00:01:12,670 --> 00:01:18,580 اعلی درجے کی زبانوں سے متعلق ہیں آپ CS50 میں گہرائی میں نہیں دیکھ سکتا ہے کہ، 23 00:01:18,580 --> 00:01:21,380 لیکن آپ کو بعد میں دیکھیں گے کمپیوٹر سائنس کی کلاسیں. 24 00:01:21,380 --> 00:01:25,290 تو یہ ایک ہونے جا رہا ہے مضبوطی گھنٹے پیک. 25 00:01:25,290 --> 00:01:28,897 اور مجھے مطلع کرنے کے لئے براہ مہربانی بلا جھجھک آپ کا کوئی سوال ہے تو میں جاننا. 26 00:01:28,897 --> 00:01:30,730 آپ دلچسپی رکھتے ہیں تو ترقی کرنے میں 27 00:01:30,730 --> 00:01:34,442 سوئفٹ کے ساتھ، یا واقعی کسی بھی iOS اپلی کیشن ترقی، 28 00:01:34,442 --> 00:01:35,900 ضروریات کے ایک جوڑے کی ہیں. 29 00:01:35,900 --> 00:01:39,940 سب سے پہلے، آپ استعمال کرنا ہوگا ایک میک، مثالوں میں چل رہا ہے 30 00:01:39,940 --> 00:01:43,880 آج ہم استعمال کرتے ہوئے جا رہے ہیں کہ، OS کے ایک نسبتا نیا ورژن 31 00:01:43,880 --> 00:01:46,580 اس صورت میں ایکس میں ایکس 10.5 رہا ہوں. 32 00:01:46,580 --> 00:01:48,600 اگر آپ چاہتے ہیں آپ کو 10.11 چلانے ہو سکتا. 33 00:01:48,600 --> 00:01:52,430 لیکن سب کچھ آپ کے لئے جا رہے ہیں بعد میں Xcode ہے 7 اور شامل ہے کو دیکھنے کے، 34 00:01:52,430 --> 00:01:56,271 جس کی تازہ ترین ورژن ہے سوئفٹ 2.0 ہے جو سوئفٹ، کے. 35 00:01:56,271 --> 00:01:58,270 یہ اصل میں ایک خوبصورت ہے اہم فرق. 36 00:01:58,270 --> 00:02:01,510 نحو کے ایک بہت کچھ ہے خوبصورت نمایاں طور پر تبدیل 37 00:02:01,510 --> 00:02:05,890 سوئفٹ 1.0 سے بعض صورتوں میں، گزشتہ سال جاری کیا گیا تھا، 38 00:02:05,890 --> 00:02:08,514 سوئفٹ 2.0، جس سے صرف اس موسم خزاں سے باہر آئے. 39 00:02:08,514 --> 00:02:09,889 تو ہم سوئفٹ 2.0 ظاہر کرنے کے لئے جا رہے ہیں. 40 00:02:09,889 --> 00:02:13,020 چیزوں کی ایک بہت ہے کہ آپ آن لائن کے لئے تلاش 41 00:02:13,020 --> 00:02:18,040 آپ کو اضافی حاصل کرنے کی کوشش کر رہے ہیں جب چیزوں کی ایک قسم کے بارے میں معلومات، 42 00:02:18,040 --> 00:02:20,710 آپ کو واضح طور کرنا چاہتے ہیں سوئفٹ 2 کے لئے تلاش 43 00:02:20,710 --> 00:02:24,950 بلکہ صرف سادہ پرانے سوئفٹ زیادہ بنانے کے لئے آپ نحو درست حاصل ہے کہ اس بات کا یقین. 44 00:02:24,950 --> 00:02:26,920 >> اصل میں، یہ عام طور پر سچ ہے. 45 00:02:26,920 --> 00:02:31,210 ترقی کی ایک تیزی سے رقم نہیں ہے سوئفٹ زبان میں ہو 46 00:02:31,210 --> 00:02:35,110 ایپل یہ جاری کبھی کے بعد سے، مجھے لگتا ہے کہ کیا ہے، یہ ایک سال سے زیادہ ایک چھوٹا سا ہو گیا ہے 47 00:02:35,110 --> 00:02:36,370 اب. 48 00:02:36,370 --> 00:02:39,080 اور چیزیں بدل گئی ہیں ڈرامائی طور پر اس وقت میں. 49 00:02:39,080 --> 00:02:42,160 اور اس طرح مایوس نہ ہو تو، آپ کے ارد گرد تلاش کر رہے ہیں جب 50 00:02:42,160 --> 00:02:48,310 کس طرح پورا کرنے سوئفٹ یا موضوعات کے لئے کچھ مثال کے طور کوڈ استعمال کر کچھ 51 00:02:48,310 --> 00:02:51,210 یا کچھ اور یہ نہیں ہے کہ اصل سوئفٹ 2.0 پر کام. 52 00:02:51,210 --> 00:02:53,790 یقین ہے کہ آپ تلاش کر رہے ہیں بنائیں خاص طور پر اس ورژن کے لئے 53 00:02:53,790 --> 00:02:58,690 مختلف کے اثرات کو کم سے کم کرنے کی کوشش کریں ورژن اور ان چیزوں کی قسم. 54 00:02:58,690 --> 00:03:02,470 >> میں صرف کچھ چیزوں کو باہر کی طرف اشارہ کرنے کی کوشش کریں گے پرانے ورژن کے لئے مختلف ہیں کہ. 55 00:03:02,470 --> 00:03:03,970 لیکن اس کے لئے باہر دیکھنے کے لئے کچھ ہے. 56 00:03:03,970 --> 00:03:06,770 یہ شاید جا رہا ہے سب سے بڑا سر درد کی ایک 57 00:03:06,770 --> 00:03:11,010 آپ سوئفٹ کے ساتھ پڑے گا تلاش کر رہا ہے کہ ، یہاں تک کہ صرف بڑی عمر ہے کہ مثال کے طور پر کوڈ 58 00:03:11,010 --> 00:03:14,050 چند ماہ کی طرف سے، استعمال کرنے کی کوشش یہ آپ سے زیادہ جدید منصوبے میں. 59 00:03:14,050 --> 00:03:15,430 اور یہ صرف صرف کام نہیں کرتا. 60 00:03:15,430 --> 00:03:18,530 آپ سنکلک غلطیاں ہو رہی ہے، نحو غلطیاں، پاگل چیزیں کے تمام قسم کے. 61 00:03:18,530 --> 00:03:21,580 تو ساتھ صبر کہ، اور آپ کو امید ہے کہ گے 62 00:03:21,580 --> 00:03:24,200 ایک بہت اچھا تجربہ ہے سوئفٹ مجموعی کے ساتھ. 63 00:03:24,200 --> 00:03:28,430 >> اب آپ اصل میں کر سکتے ہیں اور مجھے امید ہے کہ join-- ہم اصل میں اب بھی اس year-- ہے 64 00:03:28,430 --> 00:03:30,910 کاوچ سرفنگ کے 50 ایپل اپلی کیشن ترقی کی ٹیم، جس میں 65 00:03:30,910 --> 00:03:34,680 آپ کو کسی بھی اطلاقات کو نصب کرنے کے لئے کی اجازت دے گا جس سے آپ اپنے iOS آلات پر بنانے. 66 00:03:34,680 --> 00:03:39,190 تو اس یو آر ایل ہے پر ایک نظر ڈالیں آپ کو یہ کرنے میں دلچسپی رکھتے ہیں. 67 00:03:39,190 --> 00:03:41,450 >> کی تو صرف ایک جوڑے سوئفٹ خود کے بارے میں چیزیں. 68 00:03:41,450 --> 00:03:43,580 یہ ایک مرتب زبان ہے. 69 00:03:43,580 --> 00:03:45,870 لیکن تم نے اس سے کچھ دیکھیں گے ہم استعمال کرتے ہیں کہ خصوصیات میں سے 70 00:03:45,870 --> 00:03:50,650 یہ تھوڑا سا میں بھی استعمال کیا جا کرنے کی اجازت ایک طریقہ کے طور پر اچھی طرح سے تشریح کی طرح. 71 00:03:50,650 --> 00:03:56,350 >> نحو کی ایک بہت ادھار لیا ہے C. سے یہ مبنی ہے اور سی میں لکھا 72 00:03:56,350 --> 00:04:00,400 اور اس طرح ہم دیکھیں گے کہ نتائج یہ کے ایک بہت ہیں 73 00:04:00,400 --> 00:04:04,450 اپنے موجودہ علم سے ہم C سے سوئفٹ بندرگاہ کر سکتے ہیں. 74 00:04:04,450 --> 00:04:07,290 >> لیکن چیزیں ہیں کہ C. سے یہ بہت مختلف کر دے 75 00:04:07,290 --> 00:04:08,860 یہ بہت سختی ٹائپ ہے. 76 00:04:08,860 --> 00:04:10,380 خود کار طریقے سے یاد داشت مینجمنٹ ہے. 77 00:04:10,380 --> 00:04:13,170 آپ کو حاصل کرنے کے لئے نہیں جا رہے ہیں malloc یا مفت کہیں بھی استعمال. 78 00:04:13,170 --> 00:04:15,110 یہ کوریج کے لئے ڈیزائن کیا گیا ہے. 79 00:04:15,110 --> 00:04:19,480 تو دوسرے الفاظ میں، آپ کو اس میں استعمال کر سکتے ہیں ایپل سے سیاق و سباق کے تمام قسم کے، 80 00:04:19,480 --> 00:04:26,290 فون کرنے کے لئے تمام طریقے سے OS X، اور کرنے کے لئے یہاں تک کہ کچھ سرورز، یہاں تک کہ کچھ سکرپٹ. 81 00:04:26,290 --> 00:04:28,400 لیکن ہم اس کو دیکھ لیں گے سکرپٹ کے لئے حمایت 82 00:04:28,400 --> 00:04:31,360 کافی نہیں ابھی تک ہے یہ دیگر زبانوں میں ہے. 83 00:04:31,360 --> 00:04:34,930 تو سب سے زیادہ امکان آپ کو استعمال کریں گے اس خصوصی ترقی کے لئے 84 00:04:34,930 --> 00:04:37,060 اپنے میک یا آپ کے فون پر. 85 00:04:37,060 --> 00:04:40,150 >> اور یہ جدید خصوصیات میں سے ایک بہت کچھ ہے. 86 00:04:40,150 --> 00:04:43,380 اور ان چیزوں کی ایک بہت چیزیں ہیں کہ ہم آج سے نمٹنے کے لئے کوشش کرنے کے لئے جا رہے ہیں 87 00:04:43,380 --> 00:04:47,590 بلکہ ہمارے موضوعات واضح ہے کہ، ہم پورے کورس وقف کر سکتے ہیں. 88 00:04:47,590 --> 00:04:50,140 ہے جو اصل میں، کاوچ سرفنگ کے 51، پیشکش اگلے سمسٹر، 89 00:04:50,140 --> 00:04:53,990 ان موضوعات پر بہت توجہ مرکوز کہ ذیل میں بیان کر رہے ہیں. 90 00:04:53,990 --> 00:04:56,781 تو آپ کو ایک پوری سمسٹر خرچ کر سکتے ہیں ان چیزوں کو سمجھنے. 91 00:04:56,781 --> 00:04:58,530 لیکن ہم کوشش کرنے کے لئے جا رہے ہیں ان کے ذریعے حاصل کرنے کے لئے 92 00:04:58,530 --> 00:05:00,800 کم از کم کافی آپ کو اس کیا سمجھ سکتے ہیں 93 00:05:00,800 --> 00:05:03,700 آپ کو نظر آتے جب چل رہا ایک سوئفٹ پروگرام میں 94 00:05:03,700 --> 00:05:07,310 اور اپنے راستے کو ہیک کرنے کے قابل ہو جائے حتمی منصوبے کے لئے اس کے ذریعے. 95 00:05:07,310 --> 00:05:10,780 >> بہترین طریقوں میں سے ایک اب جب کہ آپ کر سکتے ہیں اس پر مزید معلومات حاصل 96 00:05:10,780 --> 00:05:14,700 صرف ایپل کے ذریعے واضح ہے سوئفٹ کے لئے دستاویزات فراہم کی. 97 00:05:14,700 --> 00:05:16,930 APIs کی ایک بہت کچھ ہے دستیاب ہیں. 98 00:05:16,930 --> 00:05:21,170 اور یہ آپ کے لئے ایک اچھا گھر کی بنیاد ہے ، مخصوص چیزیں تلاش کرنے کے لئے کہ آپ کو 99 00:05:21,170 --> 00:05:23,020 iOS کے شامل ایک API کے ساتھ کیا کرنا چاہتے ہیں. 100 00:05:23,020 --> 00:05:26,350 آپ کے لئے کیمرے استعمال کرنا چاہتے ہیں مثال کے طور پر، آپ کو یہاں دیکھ کر شروع کر سکتے ہیں 101 00:05:26,350 --> 00:05:32,540 اور بھی گوگل اور اسٹیک استعمال آپ عام طور پر کریں گے کے طور اتپرواہ. 102 00:05:32,540 --> 00:05:36,670 >> اس پر کوئی سوال ہم میں صحیح کود سے پہلے؟ 103 00:05:36,670 --> 00:05:37,880 بالکل ٹھیک. 104 00:05:37,880 --> 00:05:38,700 کی پر منتقل کرتے ہیں. 105 00:05:38,700 --> 00:05:42,620 >> تو سب سے پہلے، میں نے ایک مثال کے طور پر فائلوں کی تعداد. 106 00:05:42,620 --> 00:05:46,040 اور میں قدم رکھنے کی کوشش کرنے کے لئے جا رہا ہوں نسبتا تیزی سے ان کے ذریعے. 107 00:05:46,040 --> 00:05:49,190 یہ سوئفٹ کے لئے ہیلو دنیا فائل ہے. 108 00:05:49,190 --> 00:05:51,050 یہ بہت آسان ہے. 109 00:05:51,050 --> 00:05:54,360 جس طرح سے زیادہ تبصرے نہیں ہے اصل کوڈ کے مقابلے میں ہیں. 110 00:05:54,360 --> 00:05:57,100 اصل کوڈ میں ہے محسوس لائن 14 پر بہت نیچے. 111 00:05:57,100 --> 00:05:57,980 یہ پرنٹ کا کہنا ہے کہ. 112 00:05:57,980 --> 00:05:59,820 اور پھر یہ ایک تقریب کا فون ہے. 113 00:05:59,820 --> 00:06:03,010 ہم نے اسے ایک میں گزر رہے ہیں سٹرنگ خوش CS50 بلایا. 114 00:06:03,010 --> 00:06:04,750 کوئی سیمیکالن ہے کہ نوٹس. 115 00:06:04,750 --> 00:06:07,010 کوئی int اہم ہے کہ وہاں نوٹس. 116 00:06:07,010 --> 00:06:10,392 میں سے کوئی بھی نہیں ہے ہم سی کے ساتھ تھا کہ cruft 117 00:06:10,392 --> 00:06:15,020 ہم اس طرح سوئفٹ استعمال کر رہے ہیں جب، صرف ایک ٹیکسٹ فائل میں لکھا ہے جس میں 118 00:06:15,020 --> 00:06:18,340 اور اس کے بعد، اپنے کمپیوٹر پر محفوظ میں اسے مرتب اور اس کو چلا سکتے ہیں. 119 00:06:18,340 --> 00:06:20,920 >> ہوں کہ یہاں نوٹس CS50 IDE کا استعمال نہیں. 120 00:06:20,920 --> 00:06:24,460 یہ میں ہوں کہ مان لیا گیا چل رہا ہے اور میں OS X پر ہوں کہ، 121 00:06:24,460 --> 00:06:27,870 اور میں Xcode ہے پہلے سے انسٹال کیا ہے کہ اس کے لئے ترتیب میں اس مشین پر 122 00:06:27,870 --> 00:06:29,080 اصل تقریب میں. 123 00:06:29,080 --> 00:06:33,349 لیکن یہ صرف ایک عام ٹیکسٹ فائل ہے کہ ہم پھر مرتب اور ترمیم کر سکتے ہیں. 124 00:06:33,349 --> 00:06:34,890 تو یہ اصل میں کس طرح کام کرتا دیکھتے ہیں. 125 00:06:34,890 --> 00:06:37,430 کیا میں اسے مرتب کرنا چاہتے ہیں؟ 126 00:06:37,430 --> 00:06:40,450 swiftc 1.swift. 127 00:06:40,450 --> 00:06:42,960 ایک یا دو لمحے کے بعد، یہ اب ہم دیکھیں گے کہ 128 00:06:42,960 --> 00:06:45,360 1 نامی ایک فائل میں اس مرتب. 129 00:06:45,360 --> 00:06:51,090 اور اب ہم ہمارے CS50 چھپی ہے، بلکہ ہماری ہیلو دنیا درخواست. 130 00:06:51,090 --> 00:06:54,690 >> کے طور پر ایک دوسری بات یہ نوٹس ٹھیک ہے، یہ ڈیفالٹ کی طرف سے ہے 131 00:06:54,690 --> 00:07:00,090 ہم ان پٹ کی ضرورت نہیں تھی / N ایک نئی سطر میں پرنٹ کرنے کے لئے. 132 00:07:00,090 --> 00:07:05,315 پہلے سے طے شدہ، پرنٹ تقریب میں کی طرف سے سوئفٹ آپ کے لئے ایک نئی سطر میں پرنٹ گا. 133 00:07:05,315 --> 00:07:09,284 آپ ایک اختیاری اضافی منتقل کر سکتی ہیں پیرامیٹر ایسا کرنے کے لئے نہیں یہ بتانے کے لئے. 134 00:07:09,284 --> 00:07:10,950 لیکن اس بارے میں مزید معلومات کے لئے گوگل. 135 00:07:10,950 --> 00:07:13,450 ڈیفالٹ کی طرف سے، یہ پرنٹ لائن کروں گا. 136 00:07:13,450 --> 00:07:16,420 >> ٹھیک ہے، تو پر منتقل پھر کچھ دوسری چیزوں کے. 137 00:07:16,420 --> 00:07:18,620 تو ہم کس طرح اصل میں متغیر کی وضاحت کر سکتے ہیں؟ 138 00:07:18,620 --> 00:07:21,960 ہم اس کا استعمال کرتے ہوئے کر سکتے ہیں دو طریقوں میں سے ایک. 139 00:07:21,960 --> 00:07:26,122 اور میں چاہتا ہوں کہ ایک آپ کو بتانا پہلے کے بارے میں یہ لشکر طیبہ تعریف ہے. 140 00:07:26,122 --> 00:07:27,830 اور یہ اہم ہے مؤثر طریقے سے کی وجہ سے 141 00:07:27,830 --> 00:07:30,240 ہم کیا کر رہے ہیں ایک مسلسل وضاحت ہے. 142 00:07:30,240 --> 00:07:34,010 ہم نے ایک متغیر بنانے کے لئے جا رہے ہیں، یا بلکہ ایک مسلسل نام نہاد نام، 143 00:07:34,010 --> 00:07:38,200 کچھ data-- میں اس کے لئے فراہم کرتے ہیں اس صورت، سٹرنگ ڈین. 144 00:07:38,200 --> 00:07:40,630 لیکن یہ لشکر طیبہ کا استعمال کرتے ہوئے مطلوبہ الفاظ، ہم کہہ رہے ہیں 145 00:07:40,630 --> 00:07:43,860 اس متغیر ہے یا دوبارہ بلایا constant-- 146 00:07:43,860 --> 00:07:46,220 نام تبدیل کر دیا گیا نہیں کیا جا رہا ہے. 147 00:07:46,220 --> 00:07:50,120 اس پورے ناقابل ہونے جا رہا ہے اس پروگرام کی مدت 148 00:07:50,120 --> 00:07:53,100 یا بھر سیاق و سباق کی مدت 149 00:07:53,100 --> 00:07:55,390 کہ متغیر دستیاب ہے. 150 00:07:55,390 --> 00:08:00,096 >> یہ ہے کہ جب بہت ضروری ہے تم نہیں ہے کہ کچھ اعداد و شمار ہے 151 00:08:00,096 --> 00:08:02,970 آپ کے پروگرام میں تبدیل کرنے جا رہا، اور آپ کو مثالوں کی ایک قسم کو دیکھ لیں گے 152 00:08:02,970 --> 00:08:06,790 ہم استعمال کرنا چاہتے ہیں جب کے بارے میں دیگر نحو بمقابلہ دو، 153 00:08:06,790 --> 00:08:11,040 آپ کو دو استعمال کرتے ہیں یہ ضروری ہے جہاں کہیں ممکن ہو اس اعلان کرتا کیونکہ 154 00:08:11,040 --> 00:08:13,740 یہ ہے کہ زبان تبدیل کر دیا گیا نہیں کیا جا سکتا، 155 00:08:13,740 --> 00:08:16,590 اور یہ اصل میں انجام دے سکتے ہیں اصلاحات کی ایک بہت 156 00:08:16,590 --> 00:08:19,560 رفتار کو بہتر بنانے کے لئے اور آپ کے پروگرام کی حفاظت. 157 00:08:19,560 --> 00:08:24,480 اور حفاظت کی طرف سے، میں کی اجازت نہیں مطلب پاگل غلطیوں کے ساتھ اس حادثے 158 00:08:24,480 --> 00:08:27,910 ہم ہو سکتا ہے C. میں دیکھنے کے عادی 159 00:08:27,910 --> 00:08:32,460 >> پھر ہم سٹرنگ پرکشیپ استعمال کر سکتے ہیں ایک تار کے اندر اندر اس encapsulate کی. 160 00:08:32,460 --> 00:08:35,200 تو ہم نے اس میں دیکھ سکتے ہیں پرنٹ لائن، ہیلو پرنٹ، 161 00:08:35,200 --> 00:08:38,950 اور پھر الٹا سلیش کھلی parens استعمال کرتے ہوئے، اور پھر میرے متغیر کے نام، 162 00:08:38,950 --> 00:08:41,809 اس معاملے میں مسلسل، قوسین بند. 163 00:08:41,809 --> 00:08:46,400 میں بنیادی طور پر تو ڈال رہا ہوں اس متغیر بلایا نام کے مندرجات 164 00:08:46,400 --> 00:08:50,240 سٹرنگ کے اندر اور اس کے بعد وہاں نتیجہ پرنٹنگ. 165 00:08:50,240 --> 00:08:54,070 >> اس فائل کے ساتھ ایک دوسرے تبدیلی ہے جس میں سب سے اوپر پر، یہ ہے کہ، 166 00:08:54,070 --> 00:08:57,340 ، ایک shebang کی لائن میں ڈال دیا جس بنیادی طور پر صرف کی وضاحت کرتا ہے 167 00:08:57,340 --> 00:09:00,180 میں استعمال کرنا چاہتے ہیں سوئفٹ مترجم، جس 168 00:09:00,180 --> 00:09:04,190 میں اب کا مطلب ہے کہ یہ خاص طور پر پروگرام مرتب. 169 00:09:04,190 --> 00:09:06,567 میں صرف اس کے اپنے سکرپٹ کی طرح اس کو چلا سکتے ہیں. 170 00:09:06,567 --> 00:09:09,400 لیکن اس کے پیچھے، اس معاملے میں، ہے مناظر مرتب کیا ہے اور اس کے بعد کیا جا رہا ہے 171 00:09:09,400 --> 00:09:10,030 رن ہونے. 172 00:09:10,030 --> 00:09:13,540 یہ ہمارے لئے صرف پوشیدہ ہے. 173 00:09:13,540 --> 00:09:15,880 >> ٹھیک ہے، تو پر منتقل. 174 00:09:15,880 --> 00:09:19,650 تو trickery کی تھوڑا سا ہے کہ صرف اس سے پہلے ہوا. 175 00:09:19,650 --> 00:09:23,230 میں نے تمہیں اس میں سے ظاہر ہوتا ہے ایک مسلسل وضاحت کر سکتے ہیں. 176 00:09:23,230 --> 00:09:25,490 اور میں ایسا کرنے کے لئے کچھ ڈیٹا فراہم کر سکتا ہے. 177 00:09:25,490 --> 00:09:29,240 لیکن اس معاملے میں، میں نے نہیں کیا ہے کہ محسوس کریں اصل اعداد و شمار کی قسم کی وضاحت 178 00:09:29,240 --> 00:09:29,820 یہ ہے کہ. 179 00:09:29,820 --> 00:09:32,780 اور اس کی وجہ سے ہے سنکلک، سوئفٹ کر سکتے ہیں 180 00:09:32,780 --> 00:09:36,910 صرف بنیاد پر اعداد و شمار کی قسم کا استنباط میں نے اس میں ڈال دیا ہے کہ اعداد و شمار پر. 181 00:09:36,910 --> 00:09:41,760 اس کی طرف سے اس کا جائزہ لینے کہ جانتا ہے کیونکہ متغیر یہیں، یہ اعداد و شمار درست 182 00:09:41,760 --> 00:09:43,370 یہاں، یہ ایک تار ہے کہ جانتا ہے. 183 00:09:43,370 --> 00:09:48,690 اور اس طرح یہ مسلسل کا نام اس وجہ سے ہے کے طور پر اچھی طرح سے ایک تار ہو رہا. 184 00:09:48,690 --> 00:09:52,730 >> لیکن ہم یہ بھی واضح ہو سکتا ہے ہے کہ قسم کے بارے میں 185 00:09:52,730 --> 00:09:55,790 ہم آپ کے لئے استعمال کرنے کے لئے جا رہے ہیں constants کی یا متغیر 186 00:09:55,790 --> 00:10:01,590 یہ نحو کا استعمال کرتے ہوئے instead-- نام قولون سلک برابر دو 187 00:10:01,590 --> 00:10:05,530 اس معاملے میں ہم ہیں جس کا مطلب ہے ڈین، پر کہا جاتا مسلسل نام کی وضاحت کرنے کے لئے جا. 188 00:10:05,530 --> 00:10:07,150 یہ قسم سٹرنگ کی ہونے جا رہا ہے. 189 00:10:07,150 --> 00:10:10,550 اور قدر دان ہونے جا رہا ہے. 190 00:10:10,550 --> 00:10:12,550 اب دوسرے طریقے کہ ہم متغیر تشکیل دے سکتے ہیں 191 00:10:12,550 --> 00:10:15,549 اور ان تبدیلی متغیر، ہیں جو ہم ہیں کہ، حقیقت میں، جانے کا مطلب ہے 192 00:10:15,549 --> 00:10:19,670 کچھ دیر ان کے مواد کو تبدیل کرنے سیاق و سباق سے مدت میں 193 00:10:19,670 --> 00:10:23,890 کہ متغیر ہم defined-- ہے کہ متغیر مطلوبہ الفاظ کا استعمال کی بجائے دو. 194 00:10:23,890 --> 00:10:27,400 لیکن ایک بار پھر، ڈیفالٹ کی طرف سے، جب تک کہ آپ کو معلوم ہے آپ کو کہ ڈیٹا جوڑتوڑ کرنے کی ضرورت ہے، 195 00:10:27,400 --> 00:10:30,510 کے لئے دو استعمال کرنے کی کوشش کارکردگی میں بہتری. 196 00:10:30,510 --> 00:10:33,740 >> اس صورت میں، میں نے تو کر سکتے ہیں اعداد و شمار کی قسم کی وضاحت 197 00:10:33,740 --> 00:10:37,650 ہم کے اندر ہونے کی توقع ہے لیبل اس نئی ملاقات کی متغیر. 198 00:10:37,650 --> 00:10:38,800 یہ ایک تار ہو رہا ہے. 199 00:10:38,800 --> 00:10:43,030 اور ہم تو سلسلہ بندی کرنا جا رہے ہیں دو ڈور ایک دوسرے کے ساتھ، سٹرنگ ہیلو، 200 00:10:43,030 --> 00:10:48,070 اور سٹرنگ کی طرف سے نمائندگی متغیر، یا بلکہ مسلسل نام. 201 00:10:48,070 --> 00:10:50,660 >> تو اس کی وجہ سے بہت اچھا ہے کسی حد تک ہے کہ ہم کی طرح پی ایچ پی 202 00:10:50,660 --> 00:10:52,250 بہت آسان سٹرنگ concatenation ہے. 203 00:10:52,250 --> 00:10:56,350 ہم خود کار طریقے سے کرنے کی ضرورت نہیں یاد داشت مینجمنٹ کی کسی بھی قسم کا استعمال کرتے ہیں 204 00:10:56,350 --> 00:11:00,580 سائز میں اضافہ اور کرنا وہاں عجیب چیزوں میں سے کسی قسم کا. 205 00:11:00,580 --> 00:11:05,040 ہم اصل میں توقع کریں گے کے طور پر یہ کام کرتا ہے. 206 00:11:05,040 --> 00:11:09,370 >> ٹھیک ہے، اس پر کوئی سوال؟ 207 00:11:09,370 --> 00:11:12,520 >> اب دوسری وجہ ہے کہ ہم آپ کی صلاحیت کی ضرورت ہے 208 00:11:12,520 --> 00:11:15,490 کیا وضاحت کرنے کے قابل ہو جائے کرنے کے لئے ڈیٹا متغیر کی قسم ہے 209 00:11:15,490 --> 00:11:18,170 کبھی کبھی ہم ایسا نہیں کرتے کیونکہ متغیر ابتدا کرنا چاہتے ہیں 210 00:11:18,170 --> 00:11:21,080 میں کچھ اعداد و شمار کے ساتھ تعریف کے نقطہ. 211 00:11:21,080 --> 00:11:23,500 تو اس صورت میں، کا کہنا ہے کہ میں inputting کی شروع کرنے کے لئے چاہتے ہیں کہ 212 00:11:23,500 --> 00:11:25,040 ایک جماعت کی کتاب میں کچھ گریڈ. 213 00:11:25,040 --> 00:11:27,530 ویسے مجھے معلوم ہے میں سے ایک ہے میں بننا چاہتا ہوں کہ متغیر 214 00:11:27,530 --> 00:11:30,280 ایک تبدیلی گریڈ ہونے جا رہا ہے. 215 00:11:30,280 --> 00:11:33,010 اور ہم یہ بھی جانتے ہیں کہ ہم اس یہ ایک عدد صحیح ہونا چاہتے ہیں. 216 00:11:33,010 --> 00:11:36,030 لیکن شاید ہم ابھی تک ایسا نہیں کرتے کہ گریڈ دستیاب ہے. 217 00:11:36,030 --> 00:11:39,570 >> سوئفٹ میں، آپ کو کرنا پڑے اعداد و شمار کی قسم کی وضاحت 218 00:11:39,570 --> 00:11:44,000 کہ ایک کے ساتھ منسلک کیا جاتا ہے متغیر یا ایک مسلسل دو 219 00:11:44,000 --> 00:11:47,840 آپ اصل میں کر سکتے ہیں سے پہلے کہ متغیر کا استعمال. 220 00:11:47,840 --> 00:11:51,170 اس کی سختی سے ٹائپ کیا جاتا ہے، آپ کو ایک قسم سے منسلک کرنے کی ضرورت ہے 221 00:11:51,170 --> 00:11:52,890 ان متغیرات میں سے. 222 00:11:52,890 --> 00:11:56,120 >> میں ٹھیک نہیں ہے تو، تو اس صورت میں کچھ قیمت کے ساتھ سب سے پہلے سے initialized، 223 00:11:56,120 --> 00:12:00,520 پھر میں سوئفٹ بتانے کی کیا ضرورت میں اعداد و شمار کی قسم ہونے کی توقع. 224 00:12:00,520 --> 00:12:02,650 یہ رہنے کے لئے جا رہا ہے اسی ڈیٹا کی قسم 225 00:12:02,650 --> 00:12:05,780 اس پروگرام کی تاریخ میں. 226 00:12:05,780 --> 00:12:10,050 >> اب آپ جتنی جلدی لالچ میں آ جا سکتا ہے میں اس گریڈ متغیر پیدا کیا ہے 227 00:12:10,050 --> 00:12:13,530 اور یہ ایک فراہم میں تو اب 100 عددی، 228 00:12:13,530 --> 00:12:18,540 سلسلہ بندی کرنے کی کوشش کرنا چاہتے ہیں اس عددی کے ساتھ ایک سٹرنگ، 229 00:12:18,540 --> 00:12:21,610 اب بھی استعمال کرنے کے لئے لالچ میں آ جا سکتا ہے کہ سٹرنگ concatenation آپریٹر 230 00:12:21,610 --> 00:12:24,500 کی طرح ہم صرف ایک چند لائنوں سے پہلے کیا. 231 00:12:24,500 --> 00:12:26,460 لیکن بدقسمتی سے، یہ اصل میں نہیں 232 00:12:26,460 --> 00:12:29,270 کیونکہ تم، کام بنیادی طور پر کارکردگی کا مظاہرہ 233 00:12:29,270 --> 00:12:32,380 دو مختلف اقسام پر ایک کارروائی. 234 00:12:32,380 --> 00:12:36,856 >> اب یہ دوسرے سے بہت مختلف ہے سچ میں ہیں جو پی ایچ پی کی طرح زبانوں 235 00:12:36,856 --> 00:12:38,480 اقسام کے ان قسم کے ساتھ loosey مورھ. 236 00:12:38,480 --> 00:12:40,030 وہ صرف، جی ہاں، کی طرح ہیں جو کچھ بھی، مجھے کوئی پرواہ نہیں. 237 00:12:40,030 --> 00:12:42,710 بس مجھے ایک قسم دے، اور شاید میں صحیح بات کروں گا. 238 00:12:42,710 --> 00:12:46,060 >> اس صورت میں، والا ہے اقسام کے بارے میں انتہائی سخت 239 00:12:46,060 --> 00:12:47,350 آپ کے ساتھ نمٹنے کر رہے ہیں. 240 00:12:47,350 --> 00:12:50,700 یہ summation آپریٹر یا concatenation آپریٹر 241 00:12:50,700 --> 00:12:54,400 کی بنیادی طور پر ایک جوڑے کی ہے مختلف ممکن اختیارات. 242 00:12:54,400 --> 00:12:56,970 تم summation کے کر سکتے ہیں integers کے، یا آپ کے ساتھ 243 00:12:56,970 --> 00:13:00,870 سٹرنگ concatenation کرتے ہیں، اور کر سکتے ہیں شاید کچھ دوسری چیزوں کے ساتھ ساتھ. 244 00:13:00,870 --> 00:13:05,550 لیکن اس کا آپریٹر آپ کو تسلیم نہیں کرتا تو اس کے دونوں کناروں پر کیا ہے، 245 00:13:05,550 --> 00:13:10,452 یا ان کا مجموعہ نہیں بلکہ دو اقسام، اس کی توقع ہے کیا نہیں ہے، 246 00:13:10,452 --> 00:13:11,910 تو یہ ایک ناکامی کی وجہ سے ہو رہا ہے. 247 00:13:11,910 --> 00:13:16,690 >> تو اس صورت میں، اس کا کیا مطلب ہے ایک تار کے علاوہ ایک عدد صحیح ہے کرنے کے لئے؟ 248 00:13:16,690 --> 00:13:18,880 ویسے کے تناظر میں اس، ہم شاید چاہتے ہیں 249 00:13:18,880 --> 00:13:21,990 ایک سٹرنگ concatenation آپریشن کرنا. 250 00:13:21,990 --> 00:13:26,420 لیکن کورس کے کمپیوٹر سیاق و سباق سے اس طرح نہیں ہے. 251 00:13:26,420 --> 00:13:29,950 اور اس طرح ہم فراہم کرنے کی ضرورت کہ اضافی معلومات 252 00:13:29,950 --> 00:13:32,390 یہ کیا بتائیں ہم کرنا چاہتے ہیں ہے. 253 00:13:32,390 --> 00:13:36,860 >> دوسرے الفاظ میں، حقیقت یہ ہے کہ سوئفٹ سختی ٹائپ کیا جاتا ہے کہ 254 00:13:36,860 --> 00:13:39,520 آپ کو ایک ایسا کرنے کا مطلب ہے اضافی کام کا تھوڑا سا 255 00:13:39,520 --> 00:13:42,100 یہ کام حاصل کرنے کے لئے آپ چاہتے ہیں کہ جس طرح. 256 00:13:42,100 --> 00:13:43,710 لیکن اس کے نتیجے کے طور پر، یہ محفوظ ہے. 257 00:13:43,710 --> 00:13:46,290 اور ایک بار جب آپ لے ان اقسام کے اکاؤنٹ میں، 258 00:13:46,290 --> 00:13:49,300 چیزیں صرف بے تکلفی شروع بہت اچھی طرح سے کام کرنے کے لئے. 259 00:13:49,300 --> 00:13:52,520 >> اس صورت میں، اس کے بعد ہم کریں گے تو سٹرنگ concatenation انجام 260 00:13:52,520 --> 00:13:56,040 واضح طور پر ڈال کر ایک تار پر عددی 261 00:13:56,040 --> 00:13:58,490 اس میں یہ ریپنگ کی طرف سے دارالحکومت سٹرنگ تقریب، 262 00:13:58,490 --> 00:14:03,510 اور پھر سٹرنگ concatenation استعمال آپریٹر، ہماری لیبل متغیر پر نظر ثانی کرنے 263 00:14:03,510 --> 00:14:06,280 اور پھر اسے باہر پرنٹ. 264 00:14:06,280 --> 00:14:08,420 >> اب تک، اتنا اچھا؟ 265 00:14:08,420 --> 00:14:12,020 ٹھیک ہے، پر منتقل. 266 00:14:12,020 --> 00:14:16,300 >> اب اعداد و شمار کی ایک قسم ہیں ہم سوئفٹ میں استعمال کر سکتے ہیں کی اقسام. 267 00:14:16,300 --> 00:14:21,620 آپ کے عادی ہو گئے ہیں، ہم نے ایک تبدیلی صف تشکیل دے سکتے ہیں. 268 00:14:21,620 --> 00:14:26,140 اور اس صف صرف کر سکتے ہیں ایک قسم پر مشتمل ہے. 269 00:14:26,140 --> 00:14:30,360 >> تو اس صورت میں، ہم بنانے کے لئے جا رہے ہیں integers کے ایک تبدیلی arrays، جس 270 00:14:30,360 --> 00:14:34,800 ہم گریڈ سے ملاقات کریں گے، اور ہم قابل ہو جائے گا اس مربع بریکٹ میں ذخیرہ کرنے کے لئے 271 00:14:34,800 --> 00:14:38,650 آپ کے طور پر شکل عادی بڑے ہو گئے ہو دیگر زبانوں کی ایک قسم میں. 272 00:14:38,650 --> 00:14:41,150 لیکن ہم ہیں کہ یہاں نوٹس چیزوں کے ایک جوڑے کی وضاحت. 273 00:14:41,150 --> 00:14:45,350 گریڈ ایک تبدیلی متغیر ہے ہم لشکر طیبہ کے مطلوبہ الفاظ کا استعمال نہیں. 274 00:14:45,350 --> 00:14:49,620 کا مطلب ہے کہ تو پھر ہم پر نظر ثانی کر سکتے ہیں اس صف کے مواد. 275 00:14:49,620 --> 00:14:53,420 یہ قسم int کے سرنی ہے اور ہم اس کو بتا سکتا ہے 276 00:14:53,420 --> 00:14:56,260 یہاں ان مربع بریکٹ کی بنیاد پر. 277 00:14:56,260 --> 00:14:58,930 >> اچھی چیزیں میں سے اب ایک اس کے بارے میں ہے کہ ہم ہے 278 00:14:58,930 --> 00:15:02,310 کی ایک بہت تک رسائی حاصل ہے اضافی معلومات 279 00:15:02,310 --> 00:15:07,110 صف کے بارے میں صرف استعمال کر رہے ہیں کچھ آسان ڈاٹ سنکیتن. 280 00:15:07,110 --> 00:15:10,500 لہذا مثال کے طور، grades.count ہمارے لئے فراہم کرتا ہے 281 00:15:10,500 --> 00:15:14,820 کہ میں موجود ہے کہ اشیاء کی تعداد اس کے بعد ہم بہت تک رسائی حاصل کر سکتے ہیں جس سرنی، 282 00:15:14,820 --> 00:15:19,090 آسانی سے صرف اس ڈاٹ سنکیتن کا استعمال کرتے ہوئے. 283 00:15:19,090 --> 00:15:21,830 >> آپ کو اضافی شامل کرنا چاہتے ہیں اس صف کے لئے اشیاء، 284 00:15:21,830 --> 00:15:27,220 آپ پی ایچ پی انداز نہیں کر سکتے ہیں جہاں آپ کو صرف واضح طور پر کی وضاحت، 285 00:15:27,220 --> 00:15:30,910 دیا انڈیکس میں کسی، کچھ قدر آپ داخل کرنا چاہتے ہیں. 286 00:15:30,910 --> 00:15:37,210 اس کے بجائے، ملائیں استعمال صف کی قسم میں طریقہ کار 287 00:15:37,210 --> 00:15:40,920 اس فہرست میں، اس شے، 95 شامل کرنے کے لئے. 288 00:15:40,920 --> 00:15:45,990 >> تو اب اس صف مندرجہ ذیل ہے 100، 0، 90، 85 contents--. 289 00:15:45,990 --> 00:15:49,270 اور اب ہم منسلک ہے کہ 95 کے ساتھ ساتھ. 290 00:15:49,270 --> 00:15:51,830 >> دوسرے طریقے ہیں ہم چیزوں کو شامل کر سکتے ہیں. 291 00:15:51,830 --> 00:15:55,030 آپ اصل میں استعمال کر سکتے ہیں ایک summation آپریٹر، 292 00:15:55,030 --> 00:15:59,200 جس کے طور پر تشریح کی جائے گی ایک سرنی ملائیں آپریشن. 293 00:15:59,200 --> 00:16:04,680 اور اگر تم اس کے بعد ایک شامل کر سکتے ہیں جن کے مواد 70 اور 80 ہیں سرنی،، 294 00:16:04,680 --> 00:16:05,560 اس صف کے لئے. 295 00:16:05,560 --> 00:16:08,250 تو اب ہم ہے اس متغیر میں مواد 296 00:16:08,250 --> 00:16:17,220 100، 0، 90، 85، 95، 70، اور 80 grades--. 297 00:16:17,220 --> 00:16:21,850 یہ صرف ایک اچھا تھوڑا سا نحوی ہے سوئفٹ ہمارے لئے فراہم کرتا ہے چینی. 298 00:16:21,850 --> 00:16:23,850 >> ہم خلاصہ کرنا چاہتے ہیں تو گریڈ، ہم شاید ہو 299 00:16:23,850 --> 00:16:27,340 iterate کرنا چاہتے ہیں جا اس لوپ میں ہر شے سے زیادہ. 300 00:16:27,340 --> 00:16:32,150 اور ہم سوئفٹ میں، تصور، ہے ایک لوپ کے لئے آپ توقع کریں گے کے طور پر. 301 00:16:32,150 --> 00:16:35,350 لیکن ہم اس بات کی نشاندہی ہے کہ جس طرح ایک رینج تھوڑا سا مختلف ہے. 302 00:16:35,350 --> 00:16:37,790 اس صورت میں، کے لئے تو سب کچھ خلاصہ، ہم کریں گے 303 00:16:37,790 --> 00:16:40,650 ایک عارضی پیدا کرنے والا ہمارے لئے ترتیب میں متغیر کہتے رقم 304 00:16:40,650 --> 00:16:42,580 اس شمار کو برقرار رکھنے کے. 305 00:16:42,580 --> 00:16:44,430 >> اور ہمارے لئے نوٹس یہاں لوپ کی تعمیر. 306 00:16:44,430 --> 00:16:46,820 0 انڈیکس کے لئے .. 00:16:51,480 308 00:16:51,480 --> 00:16:57,390 لہذا اس کی تعمیر، 0 .. 00:17:01,860 ہم پیدا کرنے کے لئے جا رہے ہیں کہہ رہے ہیں کہ 0 سے integers کے ایک رینج 310 00:17:01,860 --> 00:17:05,750 لیکن grades.count چھوڑ. 311 00:17:05,750 --> 00:17:09,577 تو یہ ہو جائے گا 0، 1، 2، 3، 4، 5، اپ تاہم بہت سے پہلے تک احمد 312 00:17:09,577 --> 00:17:10,410 grades.count پہلے. 313 00:17:10,410 --> 00:17:14,160 >> تو یہ کس طرح سے مختلف ہے ہم loops کے لئے عام طور پر استعمال کرے گا 314 00:17:14,160 --> 00:17:18,569 آپ کو کچھ انڈیکس ہوگا جہاں متغیر،، سب سے پہلے میں 0 کے برابر یہ مقرر 315 00:17:18,569 --> 00:17:25,480 اور پھر کچھ یہاں تک کہ ضم اشیاء کی تعداد کے مقابلے میں کم قیمت 316 00:17:25,480 --> 00:17:27,140 اس صف میں. 317 00:17:27,140 --> 00:17:29,820 >> تو ایک ترمیم ہے اس سے، اصل میں، 318 00:17:29,820 --> 00:17:35,010 جس نے ہمیں بہت آسانی سے کی اجازت دیتا ہے حدود کی مختلف اقسام مقرر. 319 00:17:35,010 --> 00:17:40,570 آپ کو اس رینج میں تبدیل کرتے ہیں تو تین نقطوں، 0 ... grade.count، 320 00:17:40,570 --> 00:17:45,120 اس کی حد کی نمائندگی کرتا ہے 0 پر مشتمل ہے grades.count کرنے، 321 00:17:45,120 --> 00:17:49,260 اس تعداد بھی ہے کہ اس کا مطلب پھر اس کی حد میں شامل. 322 00:17:49,260 --> 00:17:52,110 >> لیکن یہ بہت آسان ہے یہ عین مطابق چیزوں کے لئے، 323 00:17:52,110 --> 00:17:54,590 ہم انجام دینے کے لئے ہے جب لوپ کے دوران تکرار 324 00:17:54,590 --> 00:17:59,630 ان کے اشاریہ جات صفر حساب سے ترتیب کر رہے ہیں کیونکہ، ہم دیگر زبانوں میں دیکھا ہے کے طور پر 325 00:17:59,630 --> 00:18:02,360 اس کے ساتھ ساتھ. 326 00:18:02,360 --> 00:18:05,210 لوپ کے لئے اس پر کوئی سوال؟ 327 00:18:05,210 --> 00:18:10,660 >> تو انترنہیت تعریف ہے اس انڈیکس متغیر کی، 328 00:18:10,660 --> 00:18:14,350 جس کی قیمت 0 سے شروع ہوتی ہے، اور ہر لوپ تکرار سے جاری 329 00:18:14,350 --> 00:18:17,950 ایک نقطہ تک 1 کی طرف سے اضافہ کہ، grades.count کے برابر ہے 330 00:18:17,950 --> 00:18:20,380 جس نقطہ پر، لوپ aborts. 331 00:18:20,380 --> 00:18:23,730 >> ہمارے سٹرنگ میں نوٹس یہاں پرکشیپ، 332 00:18:23,730 --> 00:18:26,910 ہم اصل میں کچھ آسان انجام دے سکتے ہیں ان اقدار سے پھیری. 333 00:18:26,910 --> 00:18:31,230 تاکہ انڈیکس پلس 1 اصل گے اس قدر کی ایک summation انجام 334 00:18:31,230 --> 00:18:34,780 انڈیکس ہے کیونکہ، میں اس صورت میں، ایک عدد صحیح. 335 00:18:34,780 --> 00:18:37,810 اور اس نقطہ پر، یہ پھر ایک سٹرنگ میں تبدیل کیا جا 336 00:18:37,810 --> 00:18:42,230 اور، یہاں اس سٹرنگ میں کے interpolated ہم توقع کریں گے کے طور پر اور باہر طباعت. . 337 00:18:42,230 --> 00:18:44,520 >> اور اچھی بات یہ ہے arrays کے بارے میں یہاں ہے 338 00:18:44,520 --> 00:18:50,730 ہم بھی کرنے کے قابل ہیں بازیافت اقدار اور ترتیب اقدار 339 00:18:50,730 --> 00:18:54,080 مربع بریکٹ سنکیتن کے طور پر استعمال ہم اس کے ساتھ ساتھ دیگر زبانوں میں دیکھا ہے. 340 00:18:54,080 --> 00:18:57,130 341 00:18:57,130 --> 00:19:01,030 >> ٹھیک ہے، یہاں سے، اب ہم تو ہمارے گریڈ کی سب سے ہماری رقم گنتی. 342 00:19:01,030 --> 00:19:02,780 اب ترتیب کی اگلی منطقی قدم ہو گا 343 00:19:02,780 --> 00:19:07,580 تلاش کرنے کے لئے ایک ڈویژن آپریشن کرنا ان درجات کی اوسط سے باہر. 344 00:19:07,580 --> 00:19:10,150 لیکن کچھ اہم یہاں کیا ہو رہا ہے جس میں 345 00:19:10,150 --> 00:19:15,020 اس رقم شاید ایک عددی ہے. 346 00:19:15,020 --> 00:19:18,020 لیکن ہم نے کچھ انجام دینے کی ضرورت ڈبل تقسیم کی طرح. 347 00:19:18,020 --> 00:19:20,600 یہ ہونے جا رہا ہے جب انتہائی اہم 348 00:19:20,600 --> 00:19:24,140 ہم اس آپریشن کو انجام دینے کے لئے چاہتے ہیں، ہم کہہ رہے ہیں کی وجہ سے 349 00:19:24,140 --> 00:19:28,430 ہم اصل میں کرنے کی ضرورت ہے دو ڈبلز پر تقسیم انجام. 350 00:19:28,430 --> 00:19:31,370 اور پھر، کیونکہ سوئفٹ بہت سختی سے ٹائپ کیا جاتا، 351 00:19:31,370 --> 00:19:36,760 ہم واضح طور پر تمام قائم کرنا ضروری ہے ڈبلز کے لئے اشیاء ہم اصل میں پہلے 352 00:19:36,760 --> 00:19:38,300 کہ آپریشن کو انجام. 353 00:19:38,300 --> 00:19:40,550 >> آرڈر میں ہمارے لئے کے لئے اتنا ڈبل ڈویژن انجام، 354 00:19:40,550 --> 00:19:43,730 یہ صرف ایک کے لئے کافی نہیں ہے ان اشیاء میں سے ایک ڈبل ہونا. 355 00:19:43,730 --> 00:19:46,400 ان دونوں کو ہونا پڑے گا سوئفٹ کے لئے ترتیب میں ڈبل 356 00:19:46,400 --> 00:19:50,860 یہ اس بات کا یقین کرنا ہم کیا کرنا چاہتے ہے. 357 00:19:50,860 --> 00:19:54,360 تو تو ہم واضح طور پر Typecast کی گی ہم نے مندرجہ بالا حساب ہے جس میں رقم 358 00:19:54,360 --> 00:19:58,970 اور ڈبلز گریڈ کی تعداد، اور پھر اس آپریشن اور دکان انجام 359 00:19:58,970 --> 00:20:02,390 کہ اس نئے متغیر میں، یا بلکہ اوسط اس نئی ملاقات کی مسلسل، 360 00:20:02,390 --> 00:20:06,810 کس قسم، آپ تصور جس پڑے گا؟ 361 00:20:06,810 --> 00:20:07,587 ڈبل، جی ہاں. 362 00:20:07,587 --> 00:20:09,420 تو اس صورت میں، ہم اس کی وضاحت کرنے کی ضرورت نہیں 363 00:20:09,420 --> 00:20:13,450 اس سے inferred کیا جا سکتا ہے ڈیٹا اوسط کے آپریشن قسم 364 00:20:13,450 --> 00:20:14,730 ہو جائے گا. 365 00:20:14,730 --> 00:20:19,025 اور تیز عام طور پر بہت اچھا ہے کے بارے میں اقسام نتیجہ نکالنا کرنے کے قابل ہونے. 366 00:20:19,025 --> 00:20:22,116 367 00:20:22,116 --> 00:20:24,200 >> آپ کو اس کو دیکھنے کے لئے چاہتے ہیں چلانے کے، یا میں پر منتقل کر سکتے ہیں؟ 368 00:20:24,200 --> 00:20:25,640 میں جا رہا رکھنے کے لئے چاہتے ہیں. 369 00:20:25,640 --> 00:20:28,130 اس کا کسی پر کوئی سوال؟ 370 00:20:28,130 --> 00:20:28,630 عظیم. 371 00:20:28,630 --> 00:20:31,160 372 00:20:31,160 --> 00:20:35,010 >> اب ہم حاصل کرنے کے لئے شروع کرنے کے لئے جا رہے ہیں اچھا stuff-- وضاحت افعال، 373 00:20:35,010 --> 00:20:39,090 اور ہیں کہ دوسری اقسام کے ایک جوڑے سوئفٹ کے لئے منفرد آپ نہیں ہے کہ 374 00:20:39,090 --> 00:20:41,620 دیگر زبانوں میں دیکھا اس نقطہ تک، 375 00:20:41,620 --> 00:20:46,290 لیکن وہ دیگر میں موجود ہیں آپ کو بعد میں ہو سکتا ہے کہ زبانوں. 376 00:20:46,290 --> 00:20:48,210 تو سب سے پہلے آپ چاہتے ہیں تو ایک تقریب کی وضاحت کرنے، 377 00:20:48,210 --> 00:20:52,170 آپ کو Funky لفظ کے ساتھ اس کی وضاحت تقریب، اور پھر تقریب کے نام، 378 00:20:52,170 --> 00:20:56,710 اور پھر قوسین میں، دلائل کہ تم نے اس تقریب کو قبول کرنا چاہتے. 379 00:20:56,710 --> 00:21:00,280 دلائل بلضرور وضاحت ہے generally-- 380 00:21:00,280 --> 00:21:05,010 بھی اعداد و شمار کی قسم کی وضاحت کرنا ضروری ہے کہ وہ inferred کر سکتے ہیں جب تک کہ وہ، ہیں. 381 00:21:05,010 --> 00:21:07,500 اور ہم اس چھوٹے کو دیکھ لیں گے صرف ایک چھوٹا سا تھوڑا سا میں انتباہ. 382 00:21:07,500 --> 00:21:09,920 >> تو اس صورت میں ہم ایک ہیں تقریب printGradeCount بلایا. 383 00:21:09,920 --> 00:21:12,840 ہم کو قبول کرنے جا رہے ہیں متغیر یا بلکہ اس معاملے میں، 384 00:21:12,840 --> 00:21:14,450 ایک constant-- gradebook بلایا. 385 00:21:14,450 --> 00:21:18,517 اور اس کے ہونے جا رہا ہے integers کے صف کی قسم. 386 00:21:18,517 --> 00:21:20,600 اب وہاں کچھ ہے کہ یہاں بہت ضروری ہے 387 00:21:20,600 --> 00:21:21,849 کہ میں آپ کو سمجھنے کے لئے چاہتے ہیں. 388 00:21:21,849 --> 00:21:27,560 کہ ڈیفالٹ کی طرف سے، ان دلائل ہے اس تقریب میں آدانوں ہیں کہ 389 00:21:27,560 --> 00:21:34,380 ایک انترنہیت طیبہ مطلوبہ الفاظ کے ساتھ بیان کیا، جس میں اس پر نظر ثانی نہیں کر سکتے ہیں کا مطلب ہے کہ 390 00:21:34,380 --> 00:21:39,850 یہاں gradebook متغیر. 391 00:21:39,850 --> 00:21:43,360 اور اس طرح کا، سمجھ میں آتا ہے آپ کے اعداد و شمار کی وجہ سے گزر رہے ہیں. 392 00:21:43,360 --> 00:21:45,860 اور آپ کو شاید یہ نہیں کرنا چاہتے آپ کے تحت کی طرف سے تبدیل کیا جائے گا. 393 00:21:45,860 --> 00:21:50,800 یہ واضح طور پر ذکر کرنا ممکن ہے یہ ایک متغیر ڈال کی طرف سے ہے 394 00:21:50,800 --> 00:21:52,070 یہاں متغیر مطلوبہ الفاظ. 395 00:21:52,070 --> 00:21:56,832 لیکن ہے کہ ہم ہے کہ ایک پکڑ لیا ہے محسوس کیا لوگوں کو ماضی میں کیا ہے 396 00:21:56,832 --> 00:21:59,790 وہ یہ جا رہا ہے کہ فرض کیا گیا ہے ایک متغیر ہو کرنے کے لئے جب، حقیقت میں، یہ 397 00:21:59,790 --> 00:22:02,640 ایک مسلسل جاری ہے. 398 00:22:02,640 --> 00:22:07,340 >> ٹھیک ہے، تو پھر یہاں، اس معاملے میں، ہم کسی بھی واپسی کی قسم کی وضاحت نہیں کر رہے ہیں. 399 00:22:07,340 --> 00:22:09,460 ہم کس طرح ایسا کرنے کے لئے آپ کو دکھائے گا صرف ایک لمحے میں اس. 400 00:22:09,460 --> 00:22:12,340 لیکن ہم یہاں ہے کہ محسوس کریں حالت تو صرف ایک سادہ. 401 00:22:12,340 --> 00:22:14,560 gradebook ہے خالی اس معاملے میں جو 402 00:22:14,560 --> 00:22:19,310 اس عددی کے صرف ملکیت ہے صف، پھر ہم کچھ باہر پرنٹ. 403 00:22:19,310 --> 00:22:23,100 دوسری صورت میں ہم کچھ اور کرتے ہیں. 404 00:22:23,100 --> 00:22:25,000 >> خوبصورت براہ راست اب تک مجھے لگتا ہے. 405 00:22:25,000 --> 00:22:27,960 آپ کا کوئی سوال ہے تو مجھے روک. 406 00:22:27,960 --> 00:22:33,350 >> اب یہ تقریب، اوسط، بھی لیتا ہے کچھ دلائل، یا بلکہ ایک دلیل، 407 00:22:33,350 --> 00:22:37,507 gradebook، اور اس وقت ہے جس میں ایک ڈبل قسم واپس جا رہا ہے. 408 00:22:37,507 --> 00:22:39,340 یہ کمپیوٹنگ ہے کیونکہ اوسط اور یہ 409 00:22:39,340 --> 00:22:45,010 اصل میں اس پر واپس جا رہا کالنگ لائن پر حساب اوسط. 410 00:22:45,010 --> 00:22:50,070 >> اس صورت میں، ہم نے وضاحت ایک تیر کے بعد قسم واپس. 411 00:22:50,070 --> 00:22:53,260 یہ محسوس ہو سکتا ہے سب سے پہلے میں عجیب قسم. 412 00:22:53,260 --> 00:22:55,610 آپ عادی بڑے ہو گئے ہو واپسی قائم کرنے کے لئے 413 00:22:55,610 --> 00:22:57,720 تقریب کے نام سے پہلے ٹائپ کریں. 414 00:22:57,720 --> 00:23:00,310 لیکن آپ کو اس کے بارے میں سوچنا تو ریاضی کے لحاظ سے، 415 00:23:00,310 --> 00:23:03,320 طرح آپ کو ریاضی ہے جب کہ ایک تقریب کی وضاحت، 416 00:23:03,320 --> 00:23:06,807 آپ کو کچھ کے ساتھ ایک تقریب ہے آدانوں، اور یہ ایک پیداوار پیدا. 417 00:23:06,807 --> 00:23:08,890 اور یہ کہ بالکل وہی جو ہے اس کی نقل کرنے کی توقع کی جاتی ہے. 418 00:23:08,890 --> 00:23:12,460 اور دیگر زبانوں میں سے ایک جوڑے کی ہے کہ، کے ساتھ ساتھ اسی طرح نحو ہے 419 00:23:12,460 --> 00:23:15,674 لیکن شاید کوئی بھی اس آپ CS50 میں دیکھا ہے. 420 00:23:15,674 --> 00:23:17,090 لیکن پھر بھی اس کی طرف سے الجھن میں نہیں. 421 00:23:17,090 --> 00:23:21,650 تیر رہا ہے کا مطلب ہے کہ اس صورت میں واپس آ جائے گا. 422 00:23:21,650 --> 00:23:23,650 ٹھیک ہے، تو ہم کس طرح جا رہے ہیں یہ اوسط گنتی کرنے کے لئے؟ 423 00:23:23,650 --> 00:23:25,649 ٹھیک ہے، اگر gradebook خالی ہے، تو پھر ہم ہیں 424 00:23:25,649 --> 00:23:30,731 جو شاید، 0 واپس جا رہا ایک مناسب طریقے سے اس کا علاج کرنے کے لئے. 425 00:23:30,731 --> 00:23:32,980 میں کی آنے دو، نہیں جانتے اس پر واپس تھوڑا سا میں. 426 00:23:32,980 --> 00:23:34,688 یہ اصل میں نہیں کر سکتے ہیں ایک مناسب طریقہ ہو 427 00:23:34,688 --> 00:23:38,310 اوسطا تو گنتی کرنے ہم ایک خالی gradebook ہے. 428 00:23:38,310 --> 00:23:41,260 >> اس کے بعد ہم صرف ہمارے summation کے انجام دیں گے. 429 00:23:41,260 --> 00:23:43,900 ہم یہاں کہ اصل نوٹس ایک کا ایک متبادل ورژن ہے 430 00:23:43,900 --> 00:23:49,190 ہم iterate کرنے کی اجازت دیتا ہے لوپ، کے لئے ایک صف میں ہر ایک شے سے زائد 431 00:23:49,190 --> 00:23:53,630 اور ہر عنصر کی جگہ اپنے متغیر میں. 432 00:23:53,630 --> 00:23:56,200 میں گریڈ کے لئے وضاحت کی طرف سے gradebook، ہم کیا کہہ رہے ہیں 433 00:23:56,200 --> 00:24:00,560 ہم لپیٹ کرنے کے لئے جا رہے ہیں نامی ایک نیا مسلسل تخلیق 434 00:24:00,560 --> 00:24:05,180 کی نمائندگی کرنے جا رہا ہے کہ گریڈ gradebook میں ہر منفرد شے 435 00:24:05,180 --> 00:24:06,769 ہر وقت ہے کہ لوپ کے لئے iterates ہے. 436 00:24:06,769 --> 00:24:08,560 پہلی بار تو اس اسے چلانے کے، گریڈ کریں گے 437 00:24:08,560 --> 00:24:09,800 gradebook میں پہلی شے ہو. 438 00:24:09,800 --> 00:24:12,300 دوسری بار یہ ہو جائے گا دوسری شے، تو اور تو آگے 439 00:24:12,300 --> 00:24:15,970 gradebook ہے جب تک عناصر کی خود ختم ہو. 440 00:24:15,970 --> 00:24:20,390 پھر ہم نے اس کا خلاصہ کرنے کے قابل ہو جائے گا ہمارے summation متغیر میں گریڈ 441 00:24:20,390 --> 00:24:22,570 اور ہمارے اوسط واپس کے طور پر ہم نے پہلے دیکھا ہے. 442 00:24:22,570 --> 00:24:25,670 443 00:24:25,670 --> 00:24:26,950 ٹھیک ہے، کوئی سوال؟ 444 00:24:26,950 --> 00:24:27,699 جی ہاں؟ 445 00:24:27,699 --> 00:24:28,990 سامعین: میں نے دو سوالات ہیں. 446 00:24:28,990 --> 00:24:33,586 نمبر ایک، hypothetically، کر سکتے ہیں آپ کو اس سے ایک پر عددی چلانے کے؟ 447 00:24:33,586 --> 00:24:35,604 ایک ہونے کی ضرورت نہیں ہے ڈبل، کیا یہ صحیح ہے؟ 448 00:24:35,604 --> 00:24:37,520 DAN AMRMENDARIZ: کر سکتے ہیں آپ اس سوال کا دوبارہ؟ 449 00:24:37,520 --> 00:24:39,587 سامعین: میں کیا کر سکتا اوسط طور پر عددی؟ 450 00:24:39,587 --> 00:24:41,670 DAN AMRMENDARIZ: کر سکتے ہیں آپ اوسط طور پر عددی ہے؟ 451 00:24:41,670 --> 00:24:45,015 تو ایک عددی واپس اس کی بجائے ایک ڈبل کی اوسط؟ 452 00:24:45,015 --> 00:24:48,204 >> سامعین: آپ واپس لوٹنے اس کا حق اب ذیل ہے. 453 00:24:48,204 --> 00:24:49,870 DAN AMRMENDARIZ: یہیں، 0.0 واپس؟ 454 00:24:49,870 --> 00:24:51,790 سامعین: جی ہاں، صرف 0 واپس. 455 00:24:51,790 --> 00:24:56,590 تو یہ تو ہو جائے گا 80 یا 85، لیکن 85.2. 456 00:24:56,590 --> 00:24:59,465 >> DAN AMRMENDARIZ: اس صورت میں تو، تو ایک جوڑے کو مختلف طریقوں سے 457 00:24:59,465 --> 00:25:00,090 اس کا جواب کرنے کے لئے. 458 00:25:00,090 --> 00:25:02,760 مجھے ترتیب میں ان کا جواب دو. 459 00:25:02,760 --> 00:25:06,740 میں صرف اس کی واپسی بنانے کے تو 0، 0 ایک عددی قدر ہے. 460 00:25:06,740 --> 00:25:09,730 اور تو ہے کہ ایک سبب بن جائے گا اس کیس کے لئے قسم کی خرابی 461 00:25:09,730 --> 00:25:13,210 یہ ایک ڈبل کی توقع ہے کیونکہ لیکن اس کے بعد ایک عددی واپس آ رہا ہے. 462 00:25:13,210 --> 00:25:16,770 میں ایک عددی واپس کرنا چاہتے ہیں، میں کر سکتا ہوں. 463 00:25:16,770 --> 00:25:20,450 میں واپسی کی قسم مقرر کر سکتے ہیں ، int کی یہاں 0 واپس، 464 00:25:20,450 --> 00:25:22,047 اور ڈبل تقسیم کارکردگی کا مظاہرہ نہیں. 465 00:25:22,047 --> 00:25:23,880 لیکن اس وقت ہم ہو جائے گا عددی تقسیم کر. 466 00:25:23,880 --> 00:25:27,080 اور تو تو ہم نہیں ملے گا ہم ممکنہ طور پر توقع کریں گے کہ اوسط. 467 00:25:27,080 --> 00:25:29,210 لیکن ہاں ہم پر نظر ثانی کر سکتے ہیں اس طرح میں اقسام. 468 00:25:29,210 --> 00:25:32,598 >> سامعین: اور دوسری بات، آپ سب سے اوپر پر ایک ڈبل ہے. 469 00:25:32,598 --> 00:25:35,502 لیکن نیچے، جب آپ ڈبل ڈبل واپس کرتے ہیں، 470 00:25:35,502 --> 00:25:38,280 خود کار طریقے سے پہلے سے ہی ہے ڈبل شکل آرہے ہیں. 471 00:25:38,280 --> 00:25:42,278 تم ابھی تک اس کی وضاحت کرنے کی ضرورت ہے ایک ڈبل کے ساتھ سب سے اوپر پر تیر کے ساتھ؟ 472 00:25:42,278 --> 00:25:45,010 >> DAN AMRMENDARIZ تو صورت میں، اس کا حصہ ہے 473 00:25:45,010 --> 00:25:50,580 کے the-- تو، سوال دہرانے کی اس کے بدلے سے انترنہیت ہے کیونکہ 474 00:25:50,580 --> 00:25:56,030 یہاں اقسام، کس قسم کی یہ اصل میں ہے، ہم سوئفٹ کے ساتھ واضح کرنے کی ضرورت ہے 475 00:25:56,030 --> 00:25:59,970 ہم کیا چاہتے ہیں کے بارے میں اس تقریب کے باہر واپس 476 00:25:59,970 --> 00:26:02,690 یہ ٹائپ انجام دیتا ہے تاکہ جب جانچ پڑتال، اس بات کو یقینی بنا سکتے ہیں 477 00:26:02,690 --> 00:26:05,850 ہم اصل میں لکھا ہے کہ نیچے اصل میں اس کے مطابق. 478 00:26:05,850 --> 00:26:10,225 تو یہ ایک چیک کی طرح طرح کی ہے صورت حال کا خود کے ساتھ ترتیب دیں. 479 00:26:10,225 --> 00:26:11,050 لیکن وہاں are-- 480 00:26:11,050 --> 00:26:12,560 >> سامعین: [اشراوی] تیر؟ 481 00:26:12,560 --> 00:26:19,490 >> DAN AMRMENDARIZ: مقدمات جب وہاں ہیں ہم لپیٹ کر سکتے ہیں وضاحت کر سکتے ہیں 482 00:26:19,490 --> 00:26:21,550 واپسی کی قسم مقرر کیا گیا. 483 00:26:21,550 --> 00:26:23,940 لیکن اس معاملے میں، میں ایسا نہیں کرتے کہ کام کریں گے لگتا. 484 00:26:23,940 --> 00:26:26,190 کچھ دوسرے نحو ہے ہم بعد میں دیکھیں گے کہ. 485 00:26:26,190 --> 00:26:30,320 486 00:26:30,320 --> 00:26:35,280 >> ٹھیک ہے، تو اس کے ذریعہ کوڈ تھوڑا سا مختلف ہے 487 00:26:35,280 --> 00:26:41,839 اس سے دلائل کے parses کیونکہ ہم بلا رہے ہیں اس تقریب. 488 00:26:41,839 --> 00:26:44,130 یہ کیسے کام کرتا مجھے تم سے ظاہر ہم اصل میں پر منتقل کرنے سے پہلے 489 00:26:44,130 --> 00:26:48,050 کچھ دلچسپ چیزوں کو کہ سوئفٹ میں کیا ہو رہا. 490 00:26:48,050 --> 00:26:51,870 >> تو اس صورت میں، اگر میں صرف اس کو چلانے کے یہ کیا کر رہا ہے کوڈ، کہ محسوس 491 00:26:51,870 --> 00:26:54,900 is-- جبکہ، اس قسم کی مجھے ایک عجیب خرابی دیتا ہے. 492 00:26:54,900 --> 00:26:59,730 میں نے اس کے ایک جوڑے کو منتقل کرنے کی ضرورت ہے ایک کمانڈ لائن کی دلیل کے طور پر integers کے. 493 00:26:59,730 --> 00:27:06,220 تو، 150 اور 80 دیکھتے ہیں، اور درج کریں مارا یہ اصل میں کیا کر رہی ہے باہر تلاش کرنے کے لئے. 494 00:27:06,220 --> 00:27:09,890 اس کے ہر قبول ہے integers کے طور پر ان اقدار. 495 00:27:09,890 --> 00:27:12,040 یہ ایک gradebook میں inputting کی ہے. 496 00:27:12,040 --> 00:27:14,470 اور پھر یہ کارکردگی کا مظاہرہ کر رہا ہے اوسط حساب 497 00:27:14,470 --> 00:27:16,650 اور ہم توقع کریں گے کے طور پر اس لکھنا. 498 00:27:16,650 --> 00:27:19,950 >> لیکن ظاہر ہے کچھ جا رہا ہے اس کو مسترد کرنے سے کچھ کے ساتھ پر 499 00:27:19,950 --> 00:27:23,300 ایک عددی کے طور پر کچھ. 500 00:27:23,300 --> 00:27:27,300 آپ کو ہم تھے جب سے یاد کر سکتے ہیں کے طور پر کمانڈ لائن کے دلائل کے ساتھ نمٹنے 501 00:27:27,300 --> 00:27:32,640 بہت پہلے سی اور دیگر زبانوں میں کہ کمانڈ لائن کی دلیل میں 0 ویں شے 502 00:27:32,640 --> 00:27:35,774 فہرست کمانڈ کا نام ہے ہم اصل میں پھانسی دے دی ہے. 503 00:27:35,774 --> 00:27:38,690 تو اس صورت میں، میں نے صرف looping کے ہوں تمام کمانڈ لائن کے دلائل زیادہ. 504 00:27:38,690 --> 00:27:41,650 لیکن میں پسند کی کسی بھی قسم نہیں کر رہا ہوں سب سے پہلے ایک سے زیادہ کو چھوڑ کے لئے چیک کریں. 505 00:27:41,650 --> 00:27:45,920 میں نے صرف واضح طور پر ہوں یا میں لپیٹ ہوں ان اقسام میں سے جس کی جانچ پڑتال 506 00:27:45,920 --> 00:27:49,900 integers کے اصل میں سامنے ہیں اس حساب کارکردگی کا مظاہرہ. 507 00:27:49,900 --> 00:27:52,420 >> اور یہ کہ بنیادی طور پر ہے یہاں کیا ہو رہا ہے. 508 00:27:52,420 --> 00:27:55,860 ہر دلیل میں عمل کے دلائل، 509 00:27:55,860 --> 00:27:59,210 میں نے کچھ چیک انجام دینے کے لئے جا رہا ہوں. 510 00:27:59,210 --> 00:28:01,970 اور اس معاملے میں، میں جا رہا ہوں پہلے تبدیل کرنے کی کوشش کرنے کے لئے 511 00:28:01,970 --> 00:28:07,620 ایک عددی میں دلیل ہے کہ کی طرف سے ایک واضح Typecast کی کارکردگی کا مظاہرہ، 512 00:28:07,620 --> 00:28:12,310 یہ ان پٹ پر، ایک تار ہے کیونکہ اور نہیں ایک عددی حقیقت میں. 513 00:28:12,310 --> 00:28:18,140 >> لیکن یہ ایک عجیب نحو کی طرح ہے، دو گریڈ سیریز: Int (دلیل) برابر ہے. 514 00:28:18,140 --> 00:28:21,120 اصل میں کیا ہو رہا ہے یہاں بہت ہے 515 00:28:21,120 --> 00:28:24,390 آپ استعمال کر رہے ہیں سوئفٹ کے لئے ضروری. 516 00:28:24,390 --> 00:28:27,610 یہ کیا ہے استعمال کر رہا ہے ایک اختیاری قسم بلایا. 517 00:28:27,610 --> 00:28:34,790 >> تو اس تقریب، سیریز: Int (دلیل)، نہ صرف ایک عدد صحیح، لیکن واپسی 518 00:28:34,790 --> 00:28:37,470 کیا ایک اختیاری عددی کہا جاتا ہے. 519 00:28:37,470 --> 00:28:41,200 اور اس طرح اس طرح کی ہے ایک قسم کی سب سے اوپر پر ایک قسم. 520 00:28:41,200 --> 00:28:45,900 آپ کی طرح کی طرح یہ تصور کر سکتے ہیں یہ ایک پیکج کی طرح واپس آ گیا ہے. 521 00:28:45,900 --> 00:28:47,750 اور تم اس کھولنے جب پیکج، یہ یا تو 522 00:28:47,750 --> 00:28:53,930 نتیجہ ہے جس میں ایک عدد صحیح، ہے، یا یہ بالکل اس میں بالکل کچھ بھی نہیں ہے. 523 00:28:53,930 --> 00:28:58,140 اور یہ ایک غلطی کی چیکنگ کے طور پر مفید ہے طریقہ کار، کیونکہ اس معاملے میں 524 00:28:58,140 --> 00:29:02,080 ہم باہر تلاش کر سکتے ہیں، یہ تھا قسم تبادلوں کامیاب؟ 525 00:29:02,080 --> 00:29:05,810 یہ تھا، تو یہ حقیقت میں ہے اندر ایک عددی کے لئے جا. 526 00:29:05,810 --> 00:29:08,750 ورنہ یہ کچھ ہے کرنے کے لئے جا رہا ہے ہم، صفر فون کروں گا اس قدر جس 527 00:29:08,750 --> 00:29:10,920 بالکل کوئی عددی کی نمائندہ ہے. 528 00:29:10,920 --> 00:29:13,270 یہ واقعی میں کچھ بھی نہیں کے نمائندے ہے. 529 00:29:13,270 --> 00:29:18,130 >> اور اس طرح یہ تو تعمیر ہمیں اس پیکج unwrap کرنے کی اجازت دیتا ہے، 530 00:29:18,130 --> 00:29:19,850 پابند کہ اختیاری. 531 00:29:19,850 --> 00:29:25,560 اور ہم اس unwrap کرنے کے قابل ہیں تو پیکج کے اندر ایک عددی جائے، 532 00:29:25,560 --> 00:29:27,720 پھر کیا ہم کہہ رہے ہیں یہاں اس کے بعد ہم کریں گے ہے 533 00:29:27,720 --> 00:29:33,090 اس قدر میں قائم کرنے کی اجازت گریڈ نامی اس مسلسل. 534 00:29:33,090 --> 00:29:36,590 اور اگر بیان کے اس حصے، اگر بیان کی سب سے اوپر حصہ 535 00:29:36,590 --> 00:29:40,390 ، چلانے کی وجہ سے کرے گا تحائف کھول کامیاب تھا. 536 00:29:40,390 --> 00:29:43,290 >> یہ صرف اس لئے اگر ایسا ہوتا ہے ایک غلطی شاید وہاں تھا 537 00:29:43,290 --> 00:29:47,040 اس واضح قسم تبادلوں میں شاید، ایک عددی ایک تار سے 538 00:29:47,040 --> 00:29:49,160 مثال کے طور پر قیمت ABC ہے. 539 00:29:49,160 --> 00:29:52,120 اور یہ کہ اصل میں نہیں جا رہا ہے ایک عددی میں تبدیل کرنے. 540 00:29:52,120 --> 00:29:55,520 اس کے بعد یہ، صفر واپس آ جائیں گے جس میں ایک عدد صحیح نہیں ہے. 541 00:29:55,520 --> 00:29:57,570 اور اگر یہ بیان تو پھر ناکام. 542 00:29:57,570 --> 00:30:01,930 کیونکہ موجود نہیں رہے گی گریڈ یہ کوئی عددی مواد ہے. 543 00:30:01,930 --> 00:30:06,391 اور اس کی بجائے اس کے علاوہ بلاک چلایا جائے گا. 544 00:30:06,391 --> 00:30:06,890 جی ہاں؟ 545 00:30:06,890 --> 00:30:09,652 >> سامعین: صفر ن میں L ہے؟ 546 00:30:09,652 --> 00:30:11,110 DAN AMRMENDARIZ: صفر ہاں، ن میں L ہے. 547 00:30:11,110 --> 00:30:14,970 548 00:30:14,970 --> 00:30:20,310 >> تو یہ ہو سکتا ہے میں سے ایک ہے سوئفٹ کے بارے میں سب سے مشکل چیزوں، 549 00:30:20,310 --> 00:30:23,690 آپ میں ہیں خاص طور پر جب ایک iOS اپلی کیشن پر ماتمی لباس 550 00:30:23,690 --> 00:30:27,442 اور آپ اصل میں کوشش کر رہے ہیں وہاں کچھ ترقی کرنا. 551 00:30:27,442 --> 00:30:29,400 یہ چللا کیا جا رہا ہے کے بارے میں اختیاری تم پر. 552 00:30:29,400 --> 00:30:33,050 اس کے لئے تم سے پوچھ رہا کیا جا رہا ہے سوال نمبر اور فجائیہ پوائنٹس. 553 00:30:33,050 --> 00:30:37,100 لیکن اگر آپ کو آپ out-- اعداد و شمار ایک بار باہر figuring کرنے کے لئے کچھ وقت وقف 554 00:30:37,100 --> 00:30:41,990 کیا، اختیاری اقسام کے ساتھ چل رہا ہے تم اپنے آپ کو سر درد کی ایک بہت بچا لے گا 555 00:30:41,990 --> 00:30:46,040 آپ کو کوشش کر رہے ہیں کے طور پر سوئفٹ میں ایک اپلی کیشن لکھیں. 556 00:30:46,040 --> 00:30:47,660 >> یہ اصل میں ایک بہت ہی طاقتور خصوصیت ہے. 557 00:30:47,660 --> 00:30:49,826 اور آپ کو صرف کرنا پڑے گا اب کے لئے اس کے لئے میری بات. 558 00:30:49,826 --> 00:30:52,620 لیکن ہم اس کی تعمیر کو دیکھ لیں گے اور کچھ دوسروں کو یہ پسند ہے 559 00:30:52,620 --> 00:30:56,740 دوسرے ماخذ کوڈ میں سے کچھ میں کہ ہم صرف تھوڑا سا میں تمہیں دکھاتا ہوں. 560 00:30:56,740 --> 00:31:00,440 >> کسی بھی ابتدائی سوالات یہاں ہیں؟ 561 00:31:00,440 --> 00:31:03,790 562 00:31:03,790 --> 00:31:08,690 اتنی اہم takeaway ہے ایک ہے اختیاری قسم metatype کی طرح ہے. 563 00:31:08,690 --> 00:31:12,500 یہ یا تو، ایک قیمت ہے اور اس کے بعد، ہے تو 564 00:31:12,500 --> 00:31:18,110 شاید اس قدر منسلک پڑے گا اس کے ساتھ، یا یہ کوئی اہمیت کی حامل ہے، 565 00:31:18,110 --> 00:31:19,620 اور یہ Nil کی طرف سے نمائندگی کر رہا ہے. 566 00:31:19,620 --> 00:31:24,210 567 00:31:24,210 --> 00:31:28,870 اس کے باقی شاید ہے آپ توقع کریں گے کے طور پر. 568 00:31:28,870 --> 00:31:32,900 >> تو ریمپ دو مشکل ایک بار پھر. 569 00:31:32,900 --> 00:31:37,070 اور اس وقت، کچھ میں ایک نظر ڈالیں اصل میں موجود ہے کہ دیگر ڈیٹا کی اقسام. 570 00:31:37,070 --> 00:31:41,290 ان میں سے ایک ہے جس میں، لغات ہے ازگر لغات پر بہت ملتا جلتا. 571 00:31:41,290 --> 00:31:48,270 یہ ایک ہیش ٹیبل میں سے کسی حد تک اسی طرح کی ہے C. یہ بنیادی طور پر کی چابیاں کی ایک میپنگ ہے 572 00:31:48,270 --> 00:31:49,820 جہاں چابیاں ڈور ہو سکتا ہے. 573 00:31:49,820 --> 00:31:52,670 اور آپ کو ان کی چابیاں اوپر دیکھو جب، ان چابیوں کو ایک قیمت ہو جائے گا. 574 00:31:52,670 --> 00:31:56,020 تو یہ، بالکل ایک سرنی نہیں ہے لیکن بجائے، زیادہ باریک بینی سے منسلک 575 00:31:56,020 --> 00:31:58,810 ایک ہیش نقشہ یا ایک ہیش کی میز پر. 576 00:31:58,810 --> 00:32:02,420 >> یہ سمجھا جاتا ہے کہ کس طرح دیکھتے ہیں اصل میں ہم سے پہلے کام کرنے کے لئے 577 00:32:02,420 --> 00:32:05,210 ماخذ کوڈ خود میں جانا. 578 00:32:05,210 --> 00:32:07,680 میں نے صرف اس چلاتے ہیں تو، کچھ بھی نہیں واقعی ہوتا ہے. 579 00:32:07,680 --> 00:32:12,430 میں امید کر رہا ہوں کہ یہ مجھ سے کہہ رہا ہے مندرجہ ذیل کی قسم کے کچھ پیرامیٹرز. 580 00:32:12,430 --> 00:32:16,050 تو میں فراہم کرنے کے لئے جا رہا ہوں یہ کچھ مسئلہ سیٹ کے ناموں، 581 00:32:16,050 --> 00:32:18,490 تو pset0، شاید میں 100 ہے. 582 00:32:18,490 --> 00:32:20,790 اور pset1 کے، میں نے ایک 5 ہے. 583 00:32:20,790 --> 00:32:24,630 اور پھر امتحان پر، میں واقعی میں بہت اچھا کیا اور 30 ​​ہے. 584 00:32:24,630 --> 00:32:27,180 اور افوہ، میں یہاں ایک جگہ مارا. 585 00:32:27,180 --> 00:32:30,940 >> میں درج کریں مارا جب، آپ دیکھ سکتے ہیں یہ کچھ حساب انجام دیتا ہے. 586 00:32:30,940 --> 00:32:33,740 یہ gradebook تین ہے گریڈ، pset1 کے، pset0، امتحان. 587 00:32:33,740 --> 00:32:36,120 اور gradebook ہے اس مخصوص اوسط. 588 00:32:36,120 --> 00:32:38,370 تو ایک بار پھر، ہم کام کر رہے ہیں اس gradebook خیال کے ساتھ، 589 00:32:38,370 --> 00:32:44,650 لیکن ہم سب iterating جاری رکھنے کے لئے جا رہے ہیں ہمارے تقریب کی پیچیدگی کے ساتھ. 590 00:32:44,650 --> 00:32:47,650 >> آغاز میں تو، ہم صرف ہو ایک تقریب بنانے کے لئے جا کہ 591 00:32:47,650 --> 00:32:49,390 استعمال پرنٹنگ کے لئے ذمہ دار ہے. 592 00:32:49,390 --> 00:32:51,920 یہ وہاں سے نکلنے کی ہے جس میں تقریب صرف 593 00:32:51,920 --> 00:32:53,710 زبردستی درخواست چھوڑ. 594 00:32:53,710 --> 00:32:56,530 یہ کچھ نہیں ہے آپ iOS اپلی کیشن میں استعمال کریں گے. 595 00:32:56,530 --> 00:32:59,750 یہ، اس معاملے میں، صرف ہے ایک کمانڈ لائن کی دلیل کے ساتھ. 596 00:32:59,750 --> 00:33:01,990 پیچھے اگلا، دوسرا ہم Xcode کے جانب بڑھ شروع کر دیں گے. 597 00:33:01,990 --> 00:33:07,760 لیکن یہ ایک کمانڈ کے لئے مخصوص ہے سوئفٹ میں لائن سٹائل پروگرام. 598 00:33:07,760 --> 00:33:11,490 >> کی میں سے کچھ پر ایک نظر ڈالیں یہاں دلچسپ چیزیں. 599 00:33:11,490 --> 00:33:15,150 کی صرف ایک جوڑے، دیکھتے ہیں دلچسپ چیزیں شاید ذکر کرنا 600 00:33:15,150 --> 00:33:19,930 کہ میری تقریب میں ہے گریڈ کے نمبر پرنٹنگ، 601 00:33:19,930 --> 00:33:26,090 میں اس فہرست تھا کہ یاد کر سکتے ہیں items-- pset1 کے، pset0، اور امتحان کی. 602 00:33:26,090 --> 00:33:29,130 تم واقعی میں فوری طور پر کر سکتے ہیں اور آسانی سے ایسا 603 00:33:29,130 --> 00:33:34,490 ایک ہے جو gradebook، لے کر چابیاں اور اقدار ہے جس ڈکشنری آن لائن. 604 00:33:34,490 --> 00:33:38,730 کلید کے تمام کے ذریعے تلاش کریں یہاں ڈاٹ چابیاں طریقہ، 605 00:33:38,730 --> 00:33:43,180 اور پھر، اس joinWithSeparator استعمال پھر چابیاں کے تمام لے جائے گا جس 606 00:33:43,180 --> 00:33:48,590 ہم میں ٹائپ تھا کہ، pset1-- یا معذرت، pset0، pset1 کے، اور exam-- 607 00:33:48,590 --> 00:33:53,030 اور ان کے ساتھ سلسلہ بندی کرنا ایک کوما اور ایک جگہ کا استعمال کرتے ہوئے 608 00:33:53,030 --> 00:33:55,400 ایک لمبی سٹرنگ تخلیق کرنے کے لئے. 609 00:33:55,400 --> 00:34:00,190 اس میں شامل آپریشن صرف زبردست ہے سیاق و سباق کی ایک قسم میں مفید. 610 00:34:00,190 --> 00:34:03,450 اور اس طرح اس joinWithSeparator ہے. 611 00:34:03,450 --> 00:34:06,939 >> یہ ہے کہ ایک بات ہے سوئفٹ 1 سے سوئفٹ 2 میں تبدیل کر دیا. 612 00:34:06,939 --> 00:34:08,730 ایک کے لئے استعمال کیا ازگر style-- آپ ہیں تو 613 00:34:08,730 --> 00:34:13,219 Python-- ایک ازگر کے ساتھ واقف سٹائل ڈور پر طریقہ میں شامل. 614 00:34:13,219 --> 00:34:15,699 لیکن یہ کوئی رہ گیا ہے سوئفٹ 2 میں کیس. 615 00:34:15,699 --> 00:34:19,400 اگر آپ چاہتے ہیں تو اس کا استعمال کرنا چاہتے ہیں سامان کی ایک سرنی سلسلہ بندی کرنا 616 00:34:19,400 --> 00:34:23,380 ایک سٹرنگ کے ساتھ. 617 00:34:23,380 --> 00:34:27,889 >> تو شاید اس کے بعد میں اپنے پہلے اوسط کی بحث، 618 00:34:27,889 --> 00:34:32,659 یہ تھوڑا سا زیادہ سمجھ میں آتا ہے ہمارے اوسط تقریب قائم کرنے کے لئے 619 00:34:32,659 --> 00:34:36,610 بلکہ ایک اختیاری ڈبل بننا صرف ایک واضح ڈبل سے زیادہ. 620 00:34:36,610 --> 00:34:39,239 ہم اس تھا کیونکہ غیر معمولی حالت جہاں، 621 00:34:39,239 --> 00:34:41,550 کیا gradebook اصل تو اس کے اندر کوئی قدر نہ ہو؟ 622 00:34:41,550 --> 00:34:44,280 کیا اوسط واپس آ جانا چاہئے؟ 623 00:34:44,280 --> 00:34:46,350 >> ویسے شاید C میں آپ کچھ کیا ہوتا 624 00:34:46,350 --> 00:34:50,040 کی طرح، ایک پرہری کی قیمت فراہم کی طرح 0.0، یا شاید ایک منفی نمبر، 625 00:34:50,040 --> 00:34:53,690 یا کچھ اور صرف حقیقت کی نمائندگی کچھ غلطی شرط تھا کہ 626 00:34:53,690 --> 00:34:57,910 اور آپ کو شاید اصل میں نہیں ہے اوسط کی گنتی کرنے کی صلاحیت. 627 00:34:57,910 --> 00:35:05,590 اچھی طرح سے ایک وضاحت کی خوبصورتی اختیاری قسم ایسا کرنے کے لئے ہو جائے گا. 628 00:35:05,590 --> 00:35:09,540 اور اب یہ سب باتیں کہہ رہا ہوں، لیکن یہ اصل میں optionals کا استعمال نہیں کرتا. 629 00:35:09,540 --> 00:35:12,970 لیکن ہم صرف میں دیکھ لیں گے ہم اوسط مقرر کر سکتے ہیں جہاں منٹ 630 00:35:12,970 --> 00:35:17,230 تاکہ ایک اختیاری ڈیٹا کی قسم ہونا یہ اصل میں تو کچھ اعداد و شمار، واپس تو 631 00:35:17,230 --> 00:35:18,470 ہم اس ڈیٹا واپس آ جائیں گے. 632 00:35:18,470 --> 00:35:20,570 دوسری صورت میں ہم واپس آ جائیں گے صفر، اس کا کہنا ہے کہ 633 00:35:20,570 --> 00:35:22,200 کوئی بامعنی حساب ہے. 634 00:35:22,200 --> 00:35:25,650 635 00:35:25,650 --> 00:35:28,570 >> کچھ اور پر منتقل. 636 00:35:28,570 --> 00:35:35,910 یہاں سے تو، ہم تلاش کر رہے ہیں کمانڈ لائن میں ان تمام مثالوں. 637 00:35:35,910 --> 00:35:39,470 لیکن واقعی آپ جا رہے ہیں کیا کے ساتھ نمٹنے جا Xcode ہے ہے. 638 00:35:39,470 --> 00:35:43,720 اور کے بارے میں اچھی چیزیں میں سے ایک Xcode ہے ہے، اور خاص طور پر سوئفٹ میں، 639 00:35:43,720 --> 00:35:47,450 ہم اس ہے بات ایک کھیل کے میدان سے ملاقات کی. 640 00:35:47,450 --> 00:35:51,470 اور ایک کھیل کا میدان ہے نہیں ایک iOS اپلی کیشن میں. 641 00:35:51,470 --> 00:35:54,751 لیکن یہ آپ کا تجربہ کرنے کی اجازت دیتا ہے ایک بہت آسان طریقہ میں سوئفٹ کے ساتھ. 642 00:35:54,751 --> 00:35:56,000 آپ اپنے کوڈ کے تمام قسم کے کر سکتے ہیں. 643 00:35:56,000 --> 00:35:58,140 یہ اچھی طرح سے یہاں پر روشنی ڈالی نحو ہے. 644 00:35:58,140 --> 00:36:01,600 آپ کو ایک نئی فائل بنانے کے، تو یہ پوچھیں گے آپ کو ایک کھیل کے میدان بنانے کے لئے چاہتے ہیں تو. 645 00:36:01,600 --> 00:36:08,720 لیکن کھیل کے میدان کے بارے میں اچھی بات یہ ہے کہ، آپ کی ونڈو کے حق پر ہے 646 00:36:08,720 --> 00:36:12,020 یہ اصل میں آپ کو ظاہر کرتا ہے آپ کے کوڈ کی طرف سے پیداوار. 647 00:36:12,020 --> 00:36:16,110 میں ذیل میں سکرال تو، ہم دیکھ سکتے ہیں کوڈ کے مختلف لائنوں کی پیداوار 648 00:36:16,110 --> 00:36:17,200 اصل میں ہونا ہوتا ہے. 649 00:36:17,200 --> 00:36:19,850 650 00:36:19,850 --> 00:36:26,790 >> تو اس صورت میں، ہم جا رہے ہیں ہدایات صرف تھوڑا سا تبدیل 651 00:36:26,790 --> 00:36:30,960 اور واقعی ہے کہ کچھ کے بارے میں بات اس اعلی سطح کے راستے پر اہم 652 00:36:30,960 --> 00:36:34,020 سوئفٹ، یہ اور چلتی ہے بندش کے اس کا خیال ہے. 653 00:36:34,020 --> 00:36:36,960 اور آپ شاید اس کو دیکھا ہے جاوا سکرپٹ میں ایک تھوڑا سا. 654 00:36:36,960 --> 00:36:40,770 تم میں سے ان لوگوں کے لئے CS50 میں ہیں، بندش 655 00:36:40,770 --> 00:36:47,240 کرنے کے بہت مقبول، بہت اچھا طریقہ ہے جدید زبانوں میں اعلی سطح چیزیں. 656 00:36:47,240 --> 00:36:50,270 لیکن یہ بھی قسم کے مشکل ہے پہلی بار کے ارد گرد اپنے سر لپیٹ. 657 00:36:50,270 --> 00:36:52,269 آپ کو اس میں تلاش کر رہے ہیں تو پہلی بار، یہ ٹھیک ہے. 658 00:36:52,269 --> 00:36:56,740 بس منبع کوڈ پر نظر ڈالیں اور دیکھیں آپ کے گھر میں یہ پتہ کر سکتے ہیں. 659 00:36:56,740 --> 00:37:01,050 >> تو اس صورت میں، کا کہنا ہے کہ دو ہم exponents میں سے ایک بہت بنانے کے لئے چاہتے ہیں 660 00:37:01,050 --> 00:37:04,134 کچھ مقررہ قیمت کے ساتھ. 661 00:37:04,134 --> 00:37:05,800 تو اس صورت میں اگر میں ایک تقریب تشکیل دے سکتے ہیں. 662 00:37:05,800 --> 00:37:09,270 میں طاقت اسے فون کرنے جا رہا ہوں زندگی میں 2 جن کا واحد مقصد 663 00:37:09,270 --> 00:37:15,770 کچھ ان پٹ اور ڈبل لینے کے لئے ہے یہ، اور اس قدر واپس. 664 00:37:15,770 --> 00:37:21,210 میں حاضر ہوں کہ نوٹس اعداد و شمار کی ایک قسم کو قبول کرنے. 665 00:37:21,210 --> 00:37:23,137 یہ X نامی ایک متغیر ہونے جا رہا ہے. 666 00:37:23,137 --> 00:37:23,970 اس قسم ڈبل کے ہے. 667 00:37:23,970 --> 00:37:26,190 اور میں یہاں ایک ڈبل واپس جا رہا ہوں. 668 00:37:26,190 --> 00:37:29,100 اور میں صرف کرنے جا رہا ہوں ایک بہت، بے تکلفی، خوبصورت 669 00:37:29,100 --> 00:37:32,650 اس کی قیمت کو دگنا کرنے بولی راستے سے. 670 00:37:32,650 --> 00:37:35,600 اور میں آپ کو یہ کیوں ظاہر کریں گے صرف ایک سیکنڈ میں مفید ہے. 671 00:37:35,600 --> 00:37:40,418 >> ہم اس کی حد ہے کہ یہاں نوٹس ایک بار پھر. 1 میں کچھ، ڈاٹ لئے 672 00:37:40,418 --> 00:37:44,130 جس کا مطلب ہے ڈاٹ ڈاٹ، 2، اس لوپ میں دو بار چلایا جائے گا. 673 00:37:44,130 --> 00:37:46,480 لیکن یہ ایک ڈمی متغیر کی نمائندگی کرتا ہے. 674 00:37:46,480 --> 00:37:49,650 اس میں واقعی میں نہیں جا رہا ہوں مطلب کہیں کہ متغیر کا استعمال کرتے ہوئے 675 00:37:49,650 --> 00:37:51,070 اس لوپ کے اندر. 676 00:37:51,070 --> 00:37:55,380 میں نے صرف اس لائن کی ضرورت ہے کوڈ کی دو بار کو چلانے کے لئے، 677 00:37:55,380 --> 00:37:58,980 جاننے کی ضرورت کے بغیر اس کی حد کی قیمت. 678 00:37:58,980 --> 00:38:02,570 >> اس معاملے میں میں نتیجہ رہا ہوں تو اوقات جو بنیادی طور پر، دو بار ایکس 679 00:38:02,570 --> 00:38:06,560 میں اس قیمت کو مربعاتی ہوں کا مطلب ہے کہ. 680 00:38:06,560 --> 00:38:10,230 اور اس کے لئے ہوتا ہے ہم توقع کریں گے کے طور پر کام. 681 00:38:10,230 --> 00:38:16,410 2 کی طاقت، کی قیمت گزر 2.0 ہم 4 کی پیداوار فراہم کرتا ہے. 682 00:38:16,410 --> 00:38:18,810 10.24 لئے 3.2 کام. 683 00:38:18,810 --> 00:38:22,660 >> اب ہم اسی طرح کی ایک کر سکتے ہیں 3 میں سے اقتدار کے لئے بات. 684 00:38:22,660 --> 00:38:25,330 لیکن اب صرف رینج تبدیل. 685 00:38:25,330 --> 00:38:28,840 1 میں ڈمی متغیر کے لئے 3 کے ذریعے،، 3 گنا ضرب 686 00:38:28,840 --> 00:38:29,830 اور ایک ہی بات کرتے ہیں. 687 00:38:29,830 --> 00:38:32,240 >> تو یہ تھوڑا contrived محسوس کرتے ہیں ہو سکتا ہے. 688 00:38:32,240 --> 00:38:34,270 لیکن ایک اہم ہے یہاں بات جس 689 00:38:34,270 --> 00:38:37,770 ان کو دیکھ کر ہے دو افعال، ہے 690 00:38:37,770 --> 00:38:43,600 مختلف ہے کہ صرف ایک ہی چیز، جس رینج میں اس کی قیمت ہے. 691 00:38:43,600 --> 00:38:46,910 ان دونوں کے بارے میں سب کچھ افعال، 3 کی طاقت اور 2 کی طاقت، 692 00:38:46,910 --> 00:38:50,440 ہیں، حقیقت میں، ایک جیسی ہے کیونکہ وہ اسی طرح کام کرتے ہیں. 693 00:38:50,440 --> 00:38:53,460 >> اس نقطہ پر، ایک چھوٹا سا تو خطرے کی گھنٹی سے چلنا چاہئے. 694 00:38:53,460 --> 00:38:56,200 امید ہے کہ تم کیا کہہ رہے، آپ کو معلوم ہے، یہ تھوڑا سا محسوس ہوتا ہے 695 00:38:56,200 --> 00:38:59,250 کوشش کی تخلپی طرح. 696 00:38:59,250 --> 00:39:02,950 شاید ایک طریقہ ہے کہ میں کروں گا ہے اس کے تمام encapsulate کی کے قابل ہو جائے 697 00:39:02,950 --> 00:39:06,630 اور ایک تقریب فراہم کرتے ہیں یا ایک تقریب پیدا ہونے والے 698 00:39:06,630 --> 00:39:11,550 بالکل میں بغیر چاہتے ہیں کیا کرتا ہے واضح طور پر اس سے ٹائپ کرنے کی ضرورت. 699 00:39:11,550 --> 00:39:15,732 اور یہ کیا طاقت ہے ایک بندش کے بارے میں ہمیں ایسا کرنے کی اجازت دیتا ہے. 700 00:39:15,732 --> 00:39:16,940 تو اس پر ایک نظر ڈالیں. 701 00:39:16,940 --> 00:39:18,700 اور میں نے ایک جوڑے خرچ کریں گے اس پر منٹ، اس کی وجہ سے 702 00:39:18,700 --> 00:39:20,310 سوئفٹ کے لئے بہت اہم ہے. 703 00:39:20,310 --> 00:39:22,900 اس کوڈ سے ہم وقت دیکھنے. 704 00:39:22,900 --> 00:39:24,550 ہم نے ایک تقریب کی وضاحت کرنے جا رہے ہیں. 705 00:39:24,550 --> 00:39:26,380 یہ powerOf بلایا جا رہا ہے. 706 00:39:26,380 --> 00:39:29,470 یہ ایک قبول کرنے جا رہا ہے پیرامیٹر قسم int Y کہا جاتا ہے. 707 00:39:29,470 --> 00:39:32,220 لیکن واپسی کی قسم پر ایک نظر ڈالیں. 708 00:39:32,220 --> 00:39:38,730 واپسی کی قسم میں، قوسین، ڈبل ڈبل تیر. 709 00:39:38,730 --> 00:39:43,370 اس تقریب کا مطلب ہے کہ، اس تقریب powerOf، 710 00:39:43,370 --> 00:39:46,550 ایک تقریب واپس آ رہا ہے. 711 00:39:46,550 --> 00:39:50,845 یہ ایک ڈبل قبول کیا جاتا ہے اور ایک ڈبل واپس لوٹنے. 712 00:39:50,845 --> 00:39:53,720 تو ہے کہ پاگل کی طرح لگتے ہو سکتا ہے، لیکن تھوڑا سا نیچے سکرال 713 00:39:53,720 --> 00:39:55,060 اور کیا ہوتا ہے کو دیکھنے کے لئے نظر آتے ہیں. 714 00:39:55,060 --> 00:39:57,910 ہم اس تقریب powerOf کے اندر ہو. 715 00:39:57,910 --> 00:40:00,760 ہم ایک نئے تقریب پیدا کر رہے ہیں exponentiator بلایا، 716 00:40:00,760 --> 00:40:02,900 لیکن یہ کیا ہے کوئی فرق نہیں پڑتا. 717 00:40:02,900 --> 00:40:06,410 >> یہ ہے کہ نوٹس X کی ایک ان پٹ قیمت. 718 00:40:06,410 --> 00:40:09,910 اور یہ ایک ڈبل میں لے جا رہا ہے اور ایک ڈبل واپس لوٹنے. 719 00:40:09,910 --> 00:40:16,320 اور یہ وہی کوڈ ہے کہ ہم 2 کی قدر سوائے اس کے کہ، اوپر دیکھا 720 00:40:16,320 --> 00:40:20,060 3 یا قیمت، کہ اس کی حد میں پابند بالائی، 721 00:40:20,060 --> 00:40:23,210 کے ساتھ تبدیل کر دیا گیا ہے Y کی اس کی قیمت، جس 722 00:40:23,210 --> 00:40:27,230 ابتدائی پیرامیٹر تھا ہمارے powerOf تقریب کی. 723 00:40:27,230 --> 00:40:31,700 اور اس وقت، ہم نے exponentiator واپس. 724 00:40:31,700 --> 00:40:33,345 ہم نے تقریب واپس آ رہے ہیں. 725 00:40:33,345 --> 00:40:36,300 726 00:40:36,300 --> 00:40:39,550 >> اس قسم کا ایک چھوٹا سا دماغ اڑانے کی طرح ہے. 727 00:40:39,550 --> 00:40:44,360 لیکن کیا ہوتا ہے تصور کرتے ہیں میں اس تقریب کو فون جب powerOf 728 00:40:44,360 --> 00:40:47,610 اور 2 کی طرح اس میں کچھ قدر منتقل. 729 00:40:47,610 --> 00:40:50,020 کیا اس کا مطلب ہے کہ اب قیمت ہے 730 00:40:50,020 --> 00:40:55,130 اس کی قیمت کا مطلب ہے کہ Y 2، اس exponentiator تقریب میں Y 731 00:40:55,130 --> 00:40:56,410 اس قدر ہو جائے گا 2. 732 00:40:56,410 --> 00:41:01,290 لیکن میں یہ واپس آ رہا ہوں exponentiator تقریب. 733 00:41:01,290 --> 00:41:05,900 >> تو سوئفٹ میں کیا کہتا نوٹس اس صورت میں پیدا کیا ہے. 734 00:41:05,900 --> 00:41:10,550 مربع، یہ ایک تعریف ہے ہے دو ایک ڈبل قبول کرتا ہے کہ ایک تقریب 735 00:41:10,550 --> 00:41:12,610 اور ایک ڈبل واپس. 736 00:41:12,610 --> 00:41:16,590 اگر میں ایک تقریب پیدا کیا ہے چوکوں کہ کچھ 737 00:41:16,590 --> 00:41:19,782 یہیں اس طریقہ کار کا استعمال کرتے ہوئے. 738 00:41:19,782 --> 00:41:22,490 اور واقعی کیا ہو رہا ہے ہے اس تقریب واپس آ رہا ہے کہ 739 00:41:22,490 --> 00:41:26,390 exponentiator، لیکن اس کی قیمت Y اس کے اندر لپیٹا جاتا ہے. 740 00:41:26,390 --> 00:41:31,080 اور اس طرح اب ہر وقت میں اس کا استعمال متغیر یا اس مسلسل کہا جاتا 741 00:41:31,080 --> 00:41:35,180 مربع، یہ جا رہا ہے ایک تقریب کے طور پر برتاؤ. 742 00:41:35,180 --> 00:41:39,960 اور اس میں تو اس متغیر کال کر سکتے ہیں جیسے میں ایک تقریب کو فون کریں گے، 743 00:41:39,960 --> 00:41:43,830 اور اس میں ایک بڑی تعداد کو منتقل، اس کیس میں 3 طرح. 744 00:41:43,830 --> 00:41:45,910 اور پھر میں نے اس کی قیمت مربع گے. 745 00:41:45,910 --> 00:41:53,340 تو 3 اس کے بعد کریں گے مربع ہم یہاں دیکھ سکتے ہیں کے طور پر، 9 بن. 746 00:41:53,340 --> 00:41:56,530 >> واقعی پاگل، لیکن اب یہ مجھے موقع کی اجازت دیتا ہے 747 00:41:56,530 --> 00:41:59,040 دیگر powerOf افعال کو پیدا کرنے. 748 00:41:59,040 --> 00:42:03,680 میں ٹھیک، ویسے اب میں چاہتا ہوں، کا کہنا ہے کہ کر سکتے ہیں کی طرح ایک نیا فنکشن پیدا کرنے کے لئے، powerOf (3)، 749 00:42:03,680 --> 00:42:06,290 اور ایک میں اس ذخیرہ کہا جاتا مسلسل کیوب. 750 00:42:06,290 --> 00:42:10,220 اور اب کیوب ایک ہونے جا رہا ہے کہ اس کے بعد گا علیحدہ تقریب 751 00:42:10,220 --> 00:42:14,800 ان پٹ اور کیوب کے طور پر کچھ قدر لے کہ ہم نیچے کی لکیر میں دیکھ سکتے ہیں کے طور پر قیمت 752 00:42:14,800 --> 00:42:16,420 یہاں. 753 00:42:16,420 --> 00:42:18,590 2 کیوب 8 کے نتیجے میں کی جا رہی ہے. 754 00:42:18,590 --> 00:42:21,330 755 00:42:21,330 --> 00:42:22,680 >> امید ہے کہ خوبصورت بدیا چیزیں. 756 00:42:22,680 --> 00:42:25,920 تم سے پہلے کبھی نہیں دیکھا. 757 00:42:25,920 --> 00:42:29,990 میں بندش میں دیکھنے کے لئے آپ کی حوصلہ افزائی اور تھوڑا سا اس کی تحقیقات. 758 00:42:29,990 --> 00:42:33,570 یہ ہم نے ایک بہت واقعی طاقتور چیزیں دیکھنے کے ہے جاوا اسکرپٹ اور کچھ دیگر زبانوں میں. 759 00:42:33,570 --> 00:42:37,160 یہ کرنے کے لئے بہت اہم ہے کے ساتھ ساتھ کے APIs کو سمجھنے 760 00:42:37,160 --> 00:42:38,620 ہم صرف ایک سیکنڈ میں مل جائے گا کہ. 761 00:42:38,620 --> 00:42:39,456 جی ہاں؟ 762 00:42:39,456 --> 00:42:43,740 >> سامعین: جب تم کرتے ہو powerOf (2)، قوسین، اور اس کے بعد 763 00:42:43,740 --> 00:42:48,764 ایک خانے، ایک ان پٹ آپ بنیادی طور پر مربع تبدیل کر رہے ہیں. 764 00:42:48,764 --> 00:42:50,930 DAN AMRMENDARIZ تو نظر آتے ہیں یہاں آخری لائن پر. 765 00:42:50,930 --> 00:42:55,930 یہ اصل میں مکمل طور پر ممکن ہے آپ کی تجویز کے طور پر جکڑا جانا ایسا. 766 00:42:55,930 --> 00:43:00,990 تو powerOf (5) ہم جا رہے ہیں کا مطلب ہے کہ یہاں 5 کی exponentiator حاصل کرنے. 767 00:43:00,990 --> 00:43:04,160 تو یہ بنیادی طور پر ہونے جا رہا ہے پانچویں اقتدار میں 4 طور پر ایک ہی بات، 768 00:43:04,160 --> 00:43:07,200 ہم ایک exponentiating پیدا ہے کیونکہ پانچویں اقتدار میں کام، 769 00:43:07,200 --> 00:43:09,920 اور ہم میں گزر رہے ہیں اس قدر 4 تقریب. 770 00:43:09,920 --> 00:43:12,619 اور ہم اس قیمت حاصل ہم، 1024 توقع ہے کہ. 771 00:43:12,619 --> 00:43:14,785 سامعین: اور یہ ایک نہیں ہے یہ آسان کرتا ہے تو، کا نام 772 00:43:14,785 --> 00:43:16,570 ، جو مربع کو پڑھنے کے لئے. 773 00:43:16,570 --> 00:43:17,903 >> DAN AMRMENDARIZ: دائیں، بالکل. 774 00:43:17,903 --> 00:43:21,120 میں نے صرف اسے ڈال سے پہلے تو یہاں تو ایک مسلسل میں 775 00:43:21,120 --> 00:43:23,808 اسے بنایا ہے کہ یہ بہت آسان ہے استعمال کرنے کے لئے نام. 776 00:43:23,808 --> 00:43:24,308 جی ہاں؟ 777 00:43:24,308 --> 00:43:26,942 >> سامعین: اس تناظر میں powerOf، اس حصہ ہے 778 00:43:26,942 --> 00:43:30,774 پروگرامنگ زبان کے جس طرح تم نے مخالفت کے طور پر 779 00:43:30,774 --> 00:43:33,952 [اشراوی] میں powerOf کے بارے میں سوچ؟ 780 00:43:33,952 --> 00:43:35,660 DAN AMRMENDARIZ تو اس صورت میں، powerOf 781 00:43:35,660 --> 00:43:39,280 کی صرف نام ہے میں یہاں بیان کیا ہے کہ تقریب. 782 00:43:39,280 --> 00:43:41,801 تو یہ موروثی نہیں ہے زبان خود کو، 783 00:43:41,801 --> 00:43:43,550 بلکہ اس کی بجائے، یہ صرف ہے ہے کہ ایک تقریب 784 00:43:43,550 --> 00:43:45,628 اس کے نام میں اس کا نام دینے کی وجہ سے. 785 00:43:45,628 --> 00:43:48,770 786 00:43:48,770 --> 00:43:51,920 کوئی سوال؟ 787 00:43:51,920 --> 00:43:52,800 بالکل ٹھیک. 788 00:43:52,800 --> 00:43:54,750 >> اب یہ بہت اچھا ہے. 789 00:43:54,750 --> 00:43:58,170 لیکن اگر آپ ایک کو دیکھنے کے لئے نہیں کر رہے ہیں بندش کے افعال میں سے بہت ہے کہ 790 00:43:58,170 --> 00:44:03,440 آپ کی وضاحت جہاں اندر، اس طرح ہیں ایک تقریب، ایک اور تقریب کی. 791 00:44:03,440 --> 00:44:04,320 اور آپ کو یہ کر سکتے ہیں. 792 00:44:04,320 --> 00:44:06,430 لیکن اس قسم کی نہیں ہے بہت ضروری، ٹھیک ہے؟ 793 00:44:06,430 --> 00:44:09,189 میں نے اس کی وضاحت کرتے ہیں کیوں کی طرح تقریب میں بلایا exponentiator 794 00:44:09,189 --> 00:44:10,480 اور اس کے بعد فوری طور پر اس کو واپس. 795 00:44:10,480 --> 00:44:15,220 کیوں نہیں کر سکتے ہیں میں صرف فوری طور پر اس تقریب واپس؟ 796 00:44:15,220 --> 00:44:18,890 >> اور حقیقت میں، یہ واضح طور پر ہے نامی ایک تصور کے پیچھے خیال 797 00:44:18,890 --> 00:44:22,410 گمنام افعال، جہاں گمنام افعال اصل میں ایسا نہیں کرتے 798 00:44:22,410 --> 00:44:25,270 وہ ایک نام ہے ایک کرنے کی ضرورت نہیں. 799 00:44:25,270 --> 00:44:28,700 اور تو اس صورت میں، 7B میں، ہم خاص طور پر حاصل کر سکتے ہیں. 800 00:44:28,700 --> 00:44:31,470 یہ، سب ایک ہی کوڈ ہے ، بالکل ایک ہی بات کرتا ہے 801 00:44:31,470 --> 00:44:35,570 لیکن اب ہم تو تھوڑا سا تبدیل کر دیا گیا ہے اس powerOf تقریب فوری طور پر 802 00:44:35,570 --> 00:44:37,750 ایک تقریب کی واپسی. 803 00:44:37,750 --> 00:44:44,150 واپسی کے بعد کہ نوٹس، ایک کھلی گھوبگھرالی بریکٹ ہے. 804 00:44:44,150 --> 00:44:46,410 یہ ان پٹ ڈبل توقع ہے. 805 00:44:46,410 --> 00:44:48,560 یہ پیداوار ڈبل کی توقع ہے. 806 00:44:48,560 --> 00:44:52,175 اور پھر میں مطلوبہ الفاظ کوڈ خود جدا. 807 00:44:52,175 --> 00:44:53,550 تو یہ ایک گمنام تقریب ہے. 808 00:44:53,550 --> 00:44:57,030 یہ اصل میں، جبکہ ایک نام نہیں ہے اس سے پہلے exponentiator بلایا گیا تھا. 809 00:44:57,030 --> 00:45:00,229 لیکن ہم صرف واقعی، دیکھا کے طور پر exponentiator سے رجوع نہیں کیا 810 00:45:00,229 --> 00:45:01,270 اس تقریب کے باہر. 811 00:45:01,270 --> 00:45:02,470 تو یہ کوئی فرق نہیں تھا. 812 00:45:02,470 --> 00:45:06,300 تو یہ گمنام تقریب ہے اس بینام ہے کیونکہ نام نہاد، 813 00:45:06,300 --> 00:45:09,107 لیکن یہ اب بھی استعمال کیا جا رہا اس کوڈ کے تناظر میں. 814 00:45:09,107 --> 00:45:13,690 815 00:45:13,690 --> 00:45:16,079 >> ہوں اگلے جوڑے ہیں امید ہے کہ جاری رکھنے کے لئے جا رہا 816 00:45:16,079 --> 00:45:17,370 آپ کے دماغ تھوڑا سا اڑانے. 817 00:45:17,370 --> 00:45:20,410 ہم اس سے بھی زیادہ آسان بنانے کے کر سکتے ہیں. 818 00:45:20,410 --> 00:45:24,490 احتیاط کے طور پر کی وجہ سے ، پہلے باہر کی طرف اشارہ 819 00:45:24,490 --> 00:45:29,100 شاید ہم اصل کی طرف سے جانتے ہیں، اس کوڈ سے تاثر، کیا 820 00:45:29,100 --> 00:45:31,750 اس کوڈ کی پیداوار ہونے جا رہا ہے. 821 00:45:31,750 --> 00:45:38,180 اور حقیقت میں، اس گمنام تقریب میں، ہم حقیقت میں اعداد و شمار کے اقسام اندازہ کر سکتے ہیں. 822 00:45:38,180 --> 00:45:41,650 >> تو اس میں سے ایک میں، ہم اب کوئی واضح طور پر کی وضاحت کرنے کی ضرورت ہے 823 00:45:41,650 --> 00:45:44,850 کیا جا رہا ہے کہ اعداد و شمار کی قسم اس تقریب سے ان پٹ اور آؤٹ پٹ 824 00:45:44,850 --> 00:45:45,890 وجوہات میں سے ایک جوڑے کے لئے. 825 00:45:45,890 --> 00:45:51,390 ایک ہم میں، وضاحت کی گئی ہے کہ احاطہ تقریب کے پروٹوٹائپ، 826 00:45:51,390 --> 00:45:55,770 اعداد و شمار اس گمنام کے کس قسم کی تقریب ان پٹ اور آؤٹ پٹ چاہئے. 827 00:45:55,770 --> 00:45:57,900 اور دوسرے سے، ہم کوڈ سے اندازہ کر سکتے ہیں 828 00:45:57,900 --> 00:46:01,930 یہاں نیچے ہم قبول کر رہے ہیں کہ ڈبل قسم کی ہے کہ ان پٹ 829 00:46:01,930 --> 00:46:03,670 اور ایک ڈبل واپس لوٹنے. 830 00:46:03,670 --> 00:46:07,890 >> ہم واضح طور پر نہیں ہے کہ یہاں نوٹس دلائل کے نام کی وضاحت 831 00:46:07,890 --> 00:46:11,220 اس تقریب کو قبول کیا جاتا. 832 00:46:11,220 --> 00:46:16,180 اور اس طرح ہم سے رجوع کر سکتے ہیں دیکھیں $ 0، $ 1 کو استعمال کرتے ہوئے ان پیرامیٹرز، 833 00:46:16,180 --> 00:46:20,140 تو اور تو آگے، پر منحصر ہے استعمال کیا جاتا ہے کہ ایک پیرامیٹر کی تعداد 834 00:46:20,140 --> 00:46:20,850 اس تقریب میں. 835 00:46:20,850 --> 00:46:23,370 836 00:46:23,370 --> 00:46:29,740 >> یہ آپ جا رہے ہیں کہ کچھ ہے ایک بہت کھلی گھوبگھرالی بریکٹ ہے کو دیکھنے کے لئے 837 00:46:29,740 --> 00:46:32,797 تعریف ایک کی طرف سے کے بعد $ 0، اور پھر کچھ کارروائی، 838 00:46:32,797 --> 00:46:34,130 اور پھر ایک بند گھوبگھرالی بریکٹ. 839 00:46:34,130 --> 00:46:38,630 یہ ایک گمنام تقریب ہے اس آپریشن کارکردگی کا مظاہرہ. 840 00:46:38,630 --> 00:46:42,940 یہ پیرامیٹر جہاں ہے اس قسم قیاسی ہے ہے. 841 00:46:42,940 --> 00:46:44,860 یہ پہلی پیرامیٹر $ 0 ہے. 842 00:46:44,860 --> 00:46:49,010 اور کچھ آپریشن ہے کہ $ 0 پر ہو. 843 00:46:49,010 --> 00:46:52,100 >> سامعین: ڈالر کا نشان تو ، بنیادی طور پر پیرامیٹر کا مطلب 844 00:46:52,100 --> 00:46:53,429 0 سب سے پہلے کا مطلب ہے؟ 845 00:46:53,429 --> 00:46:54,720 DAN ARMENDARIZ: یہ صحیح ہے. 846 00:46:54,720 --> 00:46:59,100 تو ڈالر کی نشانی بنیادی طور پر مطلب پیرامیٹر، اور 0 سب سے پہلے کا مطلب. 847 00:46:59,100 --> 00:47:02,760 لیکن اس میں خاص طور پر کام کرتا ہے میں نام نہیں ہے جہاں اس کیس 848 00:47:02,760 --> 00:47:07,940 میری گمنام تقریب میں دلائل. 849 00:47:07,940 --> 00:47:11,119 >> سامعین: پرل یا کچھ ہے وہاں میں اس ڈالر کا نشان، ڈالر 0؟ 850 00:47:11,119 --> 00:47:12,702 DAN ARMENDARIZ: میں معافی چاہتا ہوں، جو ہے؟ 851 00:47:12,702 --> 00:47:15,360 سامعین: پرل ہے اس ڈالر 0، ڈالر 1-- 852 00:47:15,360 --> 00:47:17,318 DAN ARMENDARIZ: میں نہیں ہوں پرل کے ساتھ بھی واقف، 853 00:47:17,318 --> 00:47:21,340 لیکن پی ایچ پی کیا متغیر کی وضاحت ڈالر علامات کی بنیاد پر. 854 00:47:21,340 --> 00:47:26,120 اور کچھ زبانوں ہو سکتی ہے اس طرح کی خصوصیات ہے کہ. 855 00:47:26,120 --> 00:47:28,240 اصل میں، قرض ایک سوئفٹ اس طرح خصوصیات میں سے بہت 856 00:47:28,240 --> 00:47:29,489 دیگر زبانوں کی ایک بہت سے. 857 00:47:29,489 --> 00:47:32,380 ہم نے اس میں ازگر کے اشارے دیکھیں. 858 00:47:32,380 --> 00:47:35,800 قسم کی اس تعریف OCaml سے آنے لگتا ہے. 859 00:47:35,800 --> 00:47:38,932 اور ہم صرف ایک پورے گچرچھی ہے مختلف زبانوں کے بہت سے چیزیں. 860 00:47:38,932 --> 00:47:40,640 وہ اچھا میں سے ایک ہے سوئفٹ کے بارے میں باتیں 861 00:47:40,640 --> 00:47:43,390 یہ سب سے بہتر میں سے ایک بہت لیتا ہے زبانوں کے ایک گروپ کی طرف سے خیالات 862 00:47:43,390 --> 00:47:47,229 اور ان کے ساتھ تمام shoehorns ایک سپر زبان میں. 863 00:47:47,229 --> 00:47:49,520 اصل میں، اگر آپ مجھے کرنے کی اجازت آپ کے دماغ اڑانے کے لئے جاری، 864 00:47:49,520 --> 00:47:51,000 تو ہم نے اس کے تمام کر رہا ہوں. 865 00:47:51,000 --> 00:47:56,690 ہم شاید یہ تھوڑا آسان بنانے کر سکتے ہیں کورس کے، کہ احساس کی طرف سے تھوڑا سا، 866 00:47:56,690 --> 00:48:02,120 سوئفٹ ایک exponentiating ہے تقریب میں تعمیر. 867 00:48:02,120 --> 00:48:04,660 میں ڈارون، درآمد کرنے کی صورت جس صرف لائبریری ہے کہ 868 00:48:04,660 --> 00:48:09,680 اب، اس تقریب میں بلایا پاؤ خصوصیات میں تقریب کے اپنے اقتدار کو آسان بنانے کے کر سکتے ہیں 869 00:48:09,680 --> 00:48:11,830 مندرجہ ذیل ہونا. 870 00:48:11,830 --> 00:48:15,860 اس کے واپس لوٹنے کی جا رہی ہے اس گمنام تقریب. 871 00:48:15,860 --> 00:48:17,950 >> لیکن یہ ہے کہ کس طرح سادہ دیکھو. 872 00:48:17,950 --> 00:48:22,780 یہ ایک گمنام تقریب ہے اعداد و شمار کے کچھ قسم کو قبول کیا جاتا، 873 00:48:22,780 --> 00:48:26,600 اور یہ ایک ہونے جا رہا ہے دلیل خاص، 874 00:48:26,600 --> 00:48:29,320 قسم ڈبل ہے کہ $ 0 محولہ. 875 00:48:29,320 --> 00:48:32,680 یہ ایک قسم ڈبل واپس جا رہا ہے. 876 00:48:32,680 --> 00:48:35,760 لیکن واپسی کا بیان اب شامل ہے. 877 00:48:35,760 --> 00:48:39,990 >> اور یہ عین مطابق سٹائل ہے کہ ، سوئفٹ میں بہت، بہت مقبول ہے 878 00:48:39,990 --> 00:48:40,790 سب جگہ. 879 00:48:40,790 --> 00:48:43,190 ہم اس کو دیکھنے کے لئے جا رہے ہیں سوئفٹ میں ہر وقت. 880 00:48:43,190 --> 00:48:46,150 تو میں اس کے تمام دکھا رہا ہوں آپ کو اس نحو کی وجہ سے. 881 00:48:46,150 --> 00:48:49,070 یہ بہت عام ہے اس کا مطلب ہے، کو دیکھنے کے لئے 882 00:48:49,070 --> 00:48:51,420 ایک گمنام تقریب ہے کہ انجام دے رہا ہے 883 00:48:51,420 --> 00:48:54,640 ان دلائل پر کچھ آپریشن. 884 00:48:54,640 --> 00:48:56,940 اور ایک انترنہیت واپسی نہیں ہے. 885 00:48:56,940 --> 00:49:01,850 تو یہ بالکل ایک ہی بات ہے ہم یہیں، اس کا کہنا ہے کرنے کے لئے. 886 00:49:01,850 --> 00:49:05,730 887 00:49:05,730 --> 00:49:08,150 >> اس گھوبگھرالی کیونکہ بریکٹ، ایک تقریب ہے 888 00:49:08,150 --> 00:49:10,480 ہم اس آپریشن کو انجام دینے ہیں پہلی دلیل پر. 889 00:49:10,480 --> 00:49:12,170 ہم نے اس کو واپس کرنے کے لئے جا رہے ہیں. 890 00:49:12,170 --> 00:49:14,815 لیکن یہ بیرونی واپسی ہے کہ پورے تقریب آرہے ہیں، 891 00:49:14,815 --> 00:49:19,855 کہ پورے گمنام تقریب ہم صرف پیدا کیا ہے کہ. 892 00:49:19,855 --> 00:49:21,689 کوئی سوال؟ 893 00:49:21,689 --> 00:49:23,980 ٹھیک ہے، میں تو نہیں جانتے تم لوگوں کو اس کے لئے تیار ہیں 894 00:49:23,980 --> 00:49:27,455 لیکن ہم سوئفٹ کے ساتھ بھی پاگل جا سکتے ہیں. 895 00:49:27,455 --> 00:49:28,560 آپ تیار ہیں؟ 896 00:49:28,560 --> 00:49:29,930 ٹھیک ہے، یہ بہت اچھا ہے. 897 00:49:29,930 --> 00:49:35,310 >> اب ہم اصل صلاحیت ہے کرنے کے لئے، سوئفٹ میں، وجہ سے کس طرح ماڈیولر 898 00:49:35,310 --> 00:49:39,650 پروٹوکول کی بنیاد پر کس طرح اور اس کے لئے، ہے اپنے پاگل آپریٹرز وضاحت. 899 00:49:39,650 --> 00:49:44,060 اس کیس میں طرح، ہم نے کوئی اچھی exponentiation-- لئے آپریٹر، 900 00:49:44,060 --> 00:49:47,990 کچھ کے اختیارات کی کارکردگی کے لئے. 901 00:49:47,990 --> 00:49:53,632 لیکن میں، سوئفٹ میں، ایک نئی وضاحت کر سکتے ہیں خاص طور پر کرتا ہے کہ آپریٹر. 902 00:49:53,632 --> 00:49:55,590 تو اس صورت میں موجود ہے یہاں نحو کا ایک گروپ. 903 00:49:55,590 --> 00:49:59,980 اور میں تم سے اس کو دیکھنے کے لئے کی اجازت دے گا گھر میں آپ کو اس کی طرف دیکھو جب. 904 00:49:59,980 --> 00:50:06,890 لیکن ہم اس infix وضاحت کر رہے ہیں آپریٹر، **، جو اس کے بعد، ہمیں اجازت دے گا 905 00:50:06,890 --> 00:50:09,840 کیا ہے کہ وضاحت کی طرف سے تقریب ** اصل 906 00:50:09,840 --> 00:50:15,010 ، ایک بائیں ہاتھ قبول کرنے کے لئے ہے کی طرف اور ایک دائیں ہاتھ کی طرف، 907 00:50:15,010 --> 00:50:21,190 اور پھر اس کے مائپادک واپس کرنے دائیں ہاتھ کی طرف کرنے کے لئے بائیں ہاتھ کی طرف. 908 00:50:21,190 --> 00:50:24,850 >> اور اس طرح اب اچانک میں تمام ایک نئی numerator کے پیدا کیا ہے. 909 00:50:24,850 --> 00:50:29,490 تو 2 ** 3 تیسری اقتدار میں 2 کا مطلب ہے. 910 00:50:29,490 --> 00:50:34,420 [دماغ اڑا صوتی] اس کی طرف سے خود، آپ کی طرح ہو بنانا چاہیے 911 00:50:34,420 --> 00:50:37,960 ٹھیک ہے، سکرو سی میں جا رہا ہوں Swift تمام راستہ. 912 00:50:37,960 --> 00:50:38,740 زبردست. 913 00:50:38,740 --> 00:50:40,140 یہ خوبصورت بہت اچھا ہے. 914 00:50:40,140 --> 00:50:42,240 >> اگرچہ یہ ایک بڑی مثال ہے. 915 00:50:42,240 --> 00:50:45,570 لیکن میں ایک بار باہر کبھی نہیں اس مثال کے طور پر اصل میں 916 00:50:45,570 --> 00:50:46,800 اپنے آپریٹر کی وضاحت. 917 00:50:46,800 --> 00:50:49,710 لیکن پھر بھی، یہ ظاہر کرتا ہے ایک سوئفٹ کی طاقت کی ایک بہت 918 00:50:49,710 --> 00:50:54,050 اور یہ اصل میں ہے کیوں واقعی بہت ٹھنڈا. 919 00:50:54,050 --> 00:50:55,832 جی ہاں، ٹھیک ہے؟ 920 00:50:55,832 --> 00:50:57,790 سامعین: آپ ہیں تو اپنی خود آپریٹر کی وضاحت، 921 00:50:57,790 --> 00:51:02,940 آپ اتفاقی طور پر نہیں جانتے ہیں کہ کس طرح کوشش کریں اور ہے کہ ایک منتظم، تخلیق 922 00:51:02,940 --> 00:51:06,040 C میں کہیں، طرح سوئفٹ میں کہیں چھپے ہوئے، 923 00:51:06,040 --> 00:51:12,210 ایک گمنام ایک کی طرح ہے کہ آپ کو پہلے دیکھا ہے نہیں کر سکتے ہیں. 924 00:51:12,210 --> 00:51:15,050 >> DAN ARMENDARIZ: آپ کوشش کر رہے ہیں تو اپنی خود کی وضاحت کرنے کے لئے آپریٹرز، 925 00:51:15,050 --> 00:51:20,970 وضاحت کا خطرہ ہے ایک موجودہ آپریٹر پر ایک. 926 00:51:20,970 --> 00:51:24,870 اس تفصیل کی سطح ہے کہ میں چلا جاتا ہے میرے خیال میں ہمیں پر جانے کے لئے وقت نہیں لگتا. 927 00:51:24,870 --> 00:51:27,620 لیکن یہ ایک خطرہ ہے. 928 00:51:27,620 --> 00:51:31,320 اور یہ کہ بہت وجہ حقیقت میں ہے میں جزم کی علامت، استعمال نہیں کیا جس 929 00:51:31,320 --> 00:51:36,210 ہم نے اقتدار سے باہر ٹائپ کر رہے ہیں جب، ہم عام طور پر 4 چھوٹی سی جزم 5 یا کچھ استعمال 930 00:51:36,210 --> 00:51:40,560 اس طرح، صرف ہم ہیں جب دوستوں یا جو کچھ بھی Gchatting. 931 00:51:40,560 --> 00:51:43,660 لیکن اس صورت میں، اصل میں ہے کہ ایک تصادم کی وجہ سے کیا جائے گا. 932 00:51:43,660 --> 00:51:46,450 اور اس میں صرف اس وجہ سے اس سے گریز میں اس معاملے میں جاننے کی ہوا 933 00:51:46,450 --> 00:51:50,430 کہ تصادم کا سبب بن جائے گا کہ. 934 00:51:50,430 --> 00:51:52,270 >> بالکل ٹھیک. 935 00:51:52,270 --> 00:51:55,080 اب بدقسمتی سے، کے لئے گزشتہ سات منٹ، 936 00:51:55,080 --> 00:51:57,410 میں اڑانے رکھنے کے لئے ہے آپ کے دماغ تھوڑا سا. 937 00:51:57,410 --> 00:52:00,230 تو مجھے آپ کو ظاہر کرنے کی اجازت دیتے ہیں کچھ دوسری چیزوں کے ساتھ ساتھ. 938 00:52:00,230 --> 00:52:03,710 >> ہم آپ کے اس خیال دکھایا گیا ہے ان گمنام افعال رکھنے، 939 00:52:03,710 --> 00:52:07,040 آپ کو اجازت دیتے ہیں کہ ان کی بندش قسم کے ارد گرد افعال کو منتقل. 940 00:52:07,040 --> 00:52:08,100 آپ انہیں واپس کر سکتے ہیں. 941 00:52:08,100 --> 00:52:09,490 تم ان جوڑتوڑ کر سکتے ہیں. 942 00:52:09,490 --> 00:52:11,790 تم پاگل چیزیں کے تمام قسم کے کر سکتے ہیں. 943 00:52:11,790 --> 00:52:14,850 >> لیکن ایک دوسری بات یہ ہے کہ مفید ہو 944 00:52:14,850 --> 00:52:19,740 صلاحیت، کی مخالفت کی ہے کے طور پر ان افعال آرہے ہیں 945 00:52:19,740 --> 00:52:25,146 ایک تقریب میں ایک تقریب منتقل کرنے کی ایک تقریب کے لئے ایک پیرامیٹر کے طور پر. 946 00:52:25,146 --> 00:52:30,430 تم زمین پر کیوں اچھی طرح سوچ سکتا ہے میں اس طرح کچھ کرنا چاہتے ہیں؟ 947 00:52:30,430 --> 00:52:33,660 >> ٹھیک ہے، میں چاہتا ہوں کہ کا کہنا ہے کہ یہ آپریٹر لینے کے لئے کہ میں 948 00:52:33,660 --> 00:52:40,260 کام اتنا مشکل تشکیل دیتے ہیں اور لاگو کرنے کے لئے مختلف تعداد کے ایک گروپ کے لئے اس 949 00:52:40,260 --> 00:52:41,770 ایک صف میں. 950 00:52:41,770 --> 00:52:46,700 تو اس معاملے میں میں ایک صف ہے 1، 4، 7، 2، 5، 10، 56 integers--. 951 00:52:46,700 --> 00:52:48,080 اور میں ان سب کو دگنا کرنے کے لئے چاہتے ہیں. 952 00:52:48,080 --> 00:52:50,430 طریقہ ہے کہ ہم عام طور پر کرے گا یہ صرف لکھنے کے لئے ہے کیا 953 00:52:50,430 --> 00:52:53,440 لوپ کے لئے ایک آسان ہے ان میں سے سب ختم ہو iterates 954 00:52:53,440 --> 00:52:57,140 اور کسی قسم کا انجام ان سے زائد مربع آپریشن، 955 00:52:57,140 --> 00:53:02,700 ایک نیا میں ان نئی اقدار inputting کی متغیر، یا بلکہ، یہاں ایک نئی صف. 956 00:53:02,700 --> 00:53:07,370 اور کی پیداوار کی قدر نتیجہ، پھر ان arrays کے ہے 957 00:53:07,370 --> 00:53:10,200 یا بلکہ ان میں سے سب عناصر اب مربع. 958 00:53:10,200 --> 00:53:12,680 >> اور ہم ایک ہی کر سکتے ہیں اس cubing کے لئے بات، 959 00:53:12,680 --> 00:53:15,360 لیکن ایک چھوٹی سی خطرے کی گھنٹی ہونا چاہئے بند جا رہا 960 00:53:15,360 --> 00:53:17,360 شاید وہاں کہہ رہی ہے کہ کسی نہ کسی طرح ہے کہ ہم کریں گے 961 00:53:17,360 --> 00:53:19,860 یہ تھوڑا سا آسان بنانے کے لئے کے قابل ہو جائے. 962 00:53:19,860 --> 00:53:21,130 اور حقیقت میں نہیں ہے. 963 00:53:21,130 --> 00:53:25,320 کیا ہم تخلیق کر سکتا ہے تو کی اجازت دیتا ہے کہ ایک تقریب 964 00:53:25,320 --> 00:53:28,350 ایک شکاری، ایک تقریب کے طور، قبول کرنے کے لئے؟ 965 00:53:28,350 --> 00:53:30,350 تو اس صورت میں، ایک لے ان دلائل پر نظر. 966 00:53:30,350 --> 00:53:33,220 ہم ڈبلز کی ایک فہرست کو قبول کرنے جا رہے ہیں. 967 00:53:33,220 --> 00:53:35,030 اور پھر ہم جا رہے ہیں ایک تقریب کو قبول کرنے 968 00:53:35,030 --> 00:53:40,990 کہ ایف نامی ایک متغیر میں جا رہا ہے ایک ڈبل لے لو اور ایک ڈبل واپس کرنے. 969 00:53:40,990 --> 00:53:43,320 اور پوری پیداوار اس پورے تقریب کے 970 00:53:43,320 --> 00:53:47,310 کہا جاتا Mapper کے لئے جا رہی ہے ڈبل نامی ایک صف واپس. 971 00:53:47,310 --> 00:53:52,380 >> یہ تو مجھ سے کی اجازت دے گا کیا کرتے ہیں کہ فہرست پر iterate ہے 972 00:53:52,380 --> 00:53:56,350 اور اب ایک ہی بات کرتے ہیں، لیکن ہر ایک پر اس تقریب کا اطلاق 973 00:53:56,350 --> 00:53:58,970 اس فہرست میں انفرادی اقدار کی. 974 00:53:58,970 --> 00:54:00,750 تو میں واقعی میں کیا ہے F نہیں جانتے. 975 00:54:00,750 --> 00:54:02,010 یہ میرے لئے کوئی فرق نہیں پڑتا. 976 00:54:02,010 --> 00:54:06,530 لیکن یہ ایک ڈبل میں لیتا ہے اتنی دیر کے طور پر، ، اس پر کچھ آپریشن کارکردگی کا مظاہرہ 977 00:54:06,530 --> 00:54:08,640 اور پھر واپسی ایک ڈبل، میں تو ہو جائے گا 978 00:54:08,640 --> 00:54:13,415 بھر میں اس تقریب کے نقشے پر قابل فہرست میں ہر ایک عنصر. 979 00:54:13,415 --> 00:54:16,270 980 00:54:16,270 --> 00:54:20,930 >> اور پروگرامنگ کی اس قسم کی ہے کہا جاتا اعلی آرڈر کام کرتا ہے، 981 00:54:20,930 --> 00:54:24,440 ہم کہاں افعال گزر رہے ہیں کے ارد گرد پیرامیٹرز کے طور پر 982 00:54:24,440 --> 00:54:26,430 اور افعال کے ساتھ باتیں کر رہے. 983 00:54:26,430 --> 00:54:29,640 یہ ان میں سے سب لینے کی طرح طرح ہے ہم CS50 میں سیکھا ہے کہ خیالات 984 00:54:29,640 --> 00:54:31,390 اور اس طرح ان کو لینے کی اگلی سطح پر. 985 00:54:31,390 --> 00:54:34,140 اور اس کے تمام CS51 انداز سامان ہے. 986 00:54:34,140 --> 00:54:37,080 اور اس طرح ہم گہرائی میں جائیں گے اس طرح کلاسوں میں زیادہ. 987 00:54:37,080 --> 00:54:38,930 >> لیکن یہ بھی ہے یہاں اہم وجہ سے ہم 988 00:54:38,930 --> 00:54:42,010 کے افعال میں سے ایک بہت کچھ دیکھیں سوئفٹ میں استعمال کیا جاتا ہے 989 00:54:42,010 --> 00:54:45,590 کہ بنیادی طور پر کرتا ہے اس، ہم کہاں ہے 990 00:54:45,590 --> 00:54:48,300 کچھ تعداد، تعداد کے کچھ صف. 991 00:54:48,300 --> 00:54:50,850 ہم نے اس کے پاس جا رہے ہیں ہمارے Mapper کے میں سرنی. 992 00:54:50,850 --> 00:54:55,770 اور ہم بھی جا رہے ہیں کچھ تقریب، کے پاس ہے جس 993 00:54:55,770 --> 00:54:57,950 ہم نے پہلے ہی یہاں بیان کیا ہے. 994 00:54:57,950 --> 00:54:59,690 یہ مربع ہونے جا رہا ہے. 995 00:54:59,690 --> 00:55:02,220 اور ہم نے اس کے بعد جا رہے ہیں ان کی تعداد کے تمام مربع 996 00:55:02,220 --> 00:55:04,710 اور یہاں یہ نتیجہ میں اس سٹور. 997 00:55:04,710 --> 00:55:07,280 998 00:55:07,280 --> 00:55:11,000 >> تو اس صورت ہم نے وضاحت کی ہے ہماری خود کی تقریب Mapper کے بلایا. 999 00:55:11,000 --> 00:55:15,370 لیکن یہ عین مطابق بات، ہے حقیقت میں، سوئفٹ میں تعمیر. 1000 00:55:15,370 --> 00:55:18,960 ایک قسم کی ہیں افعال نقشہ نامی. 1001 00:55:18,960 --> 00:55:21,520 ایک نقشہ تقریب نہیں ہے، ایک تقریب میں کمی ہے، 1002 00:55:21,520 --> 00:55:25,630 اور ایک فلٹر تقریب ہے، بنیادی طور پر لاگو ہوتے ہیں جو افعال 1003 00:55:25,630 --> 00:55:30,782 ایک میں ہر ایک عنصر پر کسی نہ کسی طرح میں ان پر نظر ثانی کی فہرست. 1004 00:55:30,782 --> 00:55:34,510 >> سامعین: آپ کو تبدیل کر رہے ہیں کے بعد تو ایک دوسرے کی شکل میں اعداد و شمار 1005 00:55:34,510 --> 00:55:36,134 ایک تقریب کے ذریعے 1006 00:55:36,134 --> 00:55:37,050 DAN ARMENDARIZ: دائیں. 1007 00:55:37,050 --> 00:55:39,420 جی ہاں، تو تقریب ہم قبول کر رہے ہیں کہ 1008 00:55:39,420 --> 00:55:41,790 کسی نہ کسی طرح میں اعداد و شمار تبدیل کر رہا ہے. 1009 00:55:41,790 --> 00:55:44,700 اس صورت میں، ہم یا تو تھے یہ مربعاتی، یا ہم اس cubing تھے، 1010 00:55:44,700 --> 00:55:50,060 یا واقعی، ہم کام انجام دے سکتے اس پر بالکل کوئی آپریشن. 1011 00:55:50,060 --> 00:55:54,150 >> لیکن مجھے تو پھر کس طرح یہ آپ کو ظاہر کرتے ہیں عملی طور پر دیکھنے کے لئے کی جا رہی ہے. 1012 00:55:54,150 --> 00:55:56,681 اور پھر، میں رہا ہوں وقت کے تھوڑا سا. تو میں نہیں ہوں 1013 00:55:56,681 --> 00:55:59,430 سب سے زیادہ جانے کے لئے کے قابل ہو جائے کرنے کے لئے جا یہاں تفصیل میں منبع کوڈ کے. 1014 00:55:59,430 --> 00:56:00,721 لیکن مجھے لگتا ہے کہ آپ کو ایسا کرنے کی حوصلہ افزائی. 1015 00:56:00,721 --> 00:56:03,850 ہم جتنی جلدی کے طور پر پوسٹ کریں گے ممکن ہے اس گفتگو کے بعد. 1016 00:56:03,850 --> 00:56:07,610 >> لیکن آپ کو اس پر ایک نظر ڈالیں تو، ہم نے اعداد کی ایک فہرست ہے کہ فرض، 1017 00:56:07,610 --> 00:56:10,260 اس میں تعداد کے ایک صف متغیر بلایا تعداد. 1018 00:56:10,260 --> 00:56:16,670 پھر ہم اس کو انجام دینے کے لئے چاہتے ہیں ان کی تعداد پر فلٹر آپریشن. 1019 00:56:16,670 --> 00:56:19,730 تو فلٹر زیادہ ہے آرڈر تقریب اس 1020 00:56:19,730 --> 00:56:24,660 بھی ایک سرنی اور ایک تقریب قبول کرتا ہے. 1021 00:56:24,660 --> 00:56:28,760 اور اس میں ہر عنصر پر سرنی، اس تقریب کارکردگی کا مظاہرہ. 1022 00:56:28,760 --> 00:56:31,990 >> کہ تقریب کی واپسی تو سچ ہے، یہ ہے کہ شے رکھتا. 1023 00:56:31,990 --> 00:56:36,100 اس تقریب جھوٹے واپس تو، اس شے کے دور ڈالی. 1024 00:56:36,100 --> 00:56:40,480 اور پھر یہ ایک فہرست واپس کہ اس وقت سب کو بنایا گیا ہے 1025 00:56:40,480 --> 00:56:44,360 فلٹر کر دیا گیا ہے کہ ان اشیاء کی. 1026 00:56:44,360 --> 00:56:47,150 >> تو دوسرے الفاظ میں، یہ ہے اسی خیال، gradebook. 1027 00:56:47,150 --> 00:56:50,800 ہم گریڈ کی ایک قسم ہو سکتا ہے اس قدر کہا جاتا تعداد میں. 1028 00:56:50,800 --> 00:56:55,590 100، اور 70، اور ہو سکتا ہے 40، تو اور تو آگے. 1029 00:56:55,590 --> 00:56:59,110 کیا اس فلٹر کرتا ہے نوٹس ہے یہ اس syntactic چینی ہے 1030 00:56:59,110 --> 00:57:01,310 ایک گمنام تقریب کے لئے. 1031 00:57:01,310 --> 00:57:05,980 یہ کہہ ایک گمنام تقریب ہے کہ میں نے قبول کر رہا ہوں کہ پیرامیٹر 1032 00:57:05,980 --> 00:57:09,690 یہ تو، جا رہا ہے ، 70 سے زیادہ ہے 1033 00:57:09,690 --> 00:57:15,837 تو اس کا مطلب ہے کہ، سچ واپس آ جائیں گے اس شے اس فلٹر میں رکھا جائے گا. 1034 00:57:15,837 --> 00:57:17,920 تو تھوڑا سا ہو اس کے بارے میں زیادہ ٹھوس. 1035 00:57:17,920 --> 00:57:25,760 میں تعداد کے اس صف ہے تو اور یہ، 100، 70، اور 40 پر مشتمل ہے 1036 00:57:25,760 --> 00:57:29,730 میں اس فلٹر کو انجام ان میں سے ہر ایک پر آپریشن. 1037 00:57:29,730 --> 00:57:33,270 تو ہے کہ سب سے پہلے ایک 100 اس کی قیمت ہے. 1038 00:57:33,270 --> 00:57:36,770 100 سے زیادہ یا برابر 70، جو سچ ہے 1039 00:57:36,770 --> 00:57:41,950 100 میں رکھا جاتا ہے کا مطلب ہے کہ اس صف کے اس نئے نقل. 1040 00:57:41,950 --> 00:57:44,290 70 بھی گزر جاتا ہے. 1041 00:57:44,290 --> 00:57:46,020 لیکن 40 نہیں. 1042 00:57:46,020 --> 00:57:54,290 تو passingCount میں کیا واپس آ جاتا ہے عناصر 100 اور صف ہے 70-- 1043 00:57:54,290 --> 00:57:57,410 100، کوما، 70. 1044 00:57:57,410 --> 00:57:59,870 وہ صرف دو تھے رکھا گیا ہے کہ اشیاء. 1045 00:57:59,870 --> 00:58:03,740 اور اس وجہ سے میں نے جلدی سے کے ذریعے چلا گیا اعلی درجے کی ان قسم کی ایک بہت 1046 00:58:03,740 --> 00:58:08,680 یہ ہے کہ عام ہے کیونکہ چیزیں ہیں آپ سوئفٹ میں خوبصورت نظر آئے گا کہ بات 1047 00:58:08,680 --> 00:58:16,810 اکثر، کچھ آپریشن کارکردگی کا مظاہرہ کیا ہے اس گمنام تقریب نحو استعمال کر رہے ہیں. 1048 00:58:16,810 --> 00:58:18,450 >> کچھ ٹھنڈی چیزیں نہیں ہے. 1049 00:58:18,450 --> 00:58:24,730 سوئچز، سوئفٹ میں واقعی طاقتور ہیں میں صرف پاگل، پاگل طاقتور مطلب. 1050 00:58:24,730 --> 00:58:28,250 آپ کو سوئچ استعمال کر سکتے ہیں آپ اصل میں ان کا اطلاق کر سکتے ہیں 1051 00:58:28,250 --> 00:58:33,160 پاگلپن کی طرح ہے جس میں حدود کی وجہ سے، اور اس طرح چیزیں پسند کرتے ہیں. 1052 00:58:33,160 --> 00:58:37,540 >> لیکن گزشتہ چند منٹ میں، میں بہت دور آگے جائیں کرنے کے لئے چاہتے ہیں 1053 00:58:37,540 --> 00:58:46,940 اور آپ کو کس طرح ایک مخصوص مثال ظاہر ہم تیز استعمال کرتے ہوئے iOS اپلی کیشن میں تشکیل دے سکتے ہیں. 1054 00:58:46,940 --> 00:58:49,040 تو جب تم کر رہے ہو اس، آپ کو لینے کے لئے کرنا پڑے گا 1055 00:58:49,040 --> 00:58:51,990 ایپل کی پر کی لمبائی تو نظر آتے ہیں دستاویزات، وہ 1056 00:58:51,990 --> 00:58:56,084 بہت اچھا سبق کی ایک بہت کچھ کرنا پڑے آپ کی پہلی درخواست پیدا کرنے کے لئے. 1057 00:58:56,084 --> 00:58:58,250 اور مجھے کیا کرنا ہے کرنے کی حوصلہ افزائی وہ آپ کو لینے کی وجہ سے 1058 00:58:58,250 --> 00:59:04,110 جو تمام اقدامات بالکل کے ذریعے ایک iOS ایپلی کیشن تخلیق کرنے پر کلک کریں. 1059 00:59:04,110 --> 00:59:07,290 >> لیکن یہاں ہم یہ iOS اپلی کیشن ہے. 1060 00:59:07,290 --> 00:59:10,960 اور یہ ایک خوبصورت سادہ اپلی کیشن واقعی ہے. 1061 00:59:10,960 --> 00:59:13,840 میں اس چلاتے ہیں تو، مجھے دکھا دو آپ کو اس طرح لگتا ہے. 1062 00:59:13,840 --> 00:59:19,480 یہ بنیادی طور پر کرتا ہے انٹرنیٹ ایک JSON فائل سے ھیںچتی 1063 00:59:19,480 --> 00:59:22,300 کہ میں ایک سرور پر محفوظ ہیں. 1064 00:59:22,300 --> 00:59:26,310 اس JSON فائل اجازت دیتے ہیں کہ تصاویر کی وضاحت 1065 00:59:26,310 --> 00:59:31,680 مجھ پر، کے ذریعے سائیکل کرنے کے لئے پھر میری اپلی کیشن، میری ویب سرور کی طرف سے تصاویر. 1066 00:59:31,680 --> 00:59:32,880 >> تو میں یہاں getNextImage ہے. 1067 00:59:32,880 --> 00:59:37,100 یہ انٹرنیٹ سے ایک تصویر بوجھ اور اس کے بعد سکرین پر دکھاتا ہے. 1068 00:59:37,100 --> 00:59:38,200 >> تو یہ بہت آسان ہے. 1069 00:59:38,200 --> 00:59:41,550 لیکن یہاں مقصد دکھانے کے لئے ہے آپ ہم چیزوں کو اکٹھا کر سکتے ہیں کس طرح 1070 00:59:41,550 --> 00:59:47,820 CS50 کے آخری چند ہفتوں سے ایک اصل iOS درخواست میں. 1071 00:59:47,820 --> 00:59:53,140 دوسرے الفاظ میں، شاید ایک میں آپ کرنا چاہتے ہیں کریں گے کہ چیزوں 1072 00:59:53,140 --> 00:59:56,340 ایک iOS درخواست ہے کہ انٹرنیٹ سے ڈیٹا ھیںچو کر سکتے ہیں 1073 00:59:56,340 --> 00:59:59,070 اور صارف کو کچھ معلومات ظاہر. 1074 00:59:59,070 --> 01:00:03,130 کہ مکمل طور پر نقطہ ہے یہاں اس کے منبع کوڈ کے. 1075 01:00:03,130 --> 01:00:07,890 >> اس کے بارے میں کہا جا کرنے کے لئے ایک بہت کچھ ہے کس طرح اصل iOS ترقی کرنا. 1076 01:00:07,890 --> 01:00:12,860 پاگل نحو کے ایک بہت کچھ ہے ہم کافی ابھی تک نہیں دیکھا ہے کہ 1077 01:00:12,860 --> 01:00:15,580 ایک کلاس کی طرح، ایک کلاس اصل میں کیا ہے. 1078 01:00:15,580 --> 01:00:19,470 ہم بڑی حد تک نظر انداز کر سکتے ہیں وقت کے لئے کیا جا رہا ہے. 1079 01:00:19,470 --> 01:00:23,250 >> لیکن ہم موجود ہے کہ نوٹس یہ چیزوں کی ایک قسم کے اندر اندر 1080 01:00:23,250 --> 01:00:27,720 ہم نے پہلے ہی کی طرح دیکھا ہے کہ مخصوص نام ہے کہ کام کرتا ہے. 1081 01:00:27,720 --> 01:00:32,650 اور ہم ان دے جب صحیح نام کام 1082 01:00:32,650 --> 01:00:36,530 اس حقیقت میں، iOS کی طرف سے توقع کی جاتی ہے یہ تھوڑا سا جادو محسوس. 1083 01:00:36,530 --> 01:00:40,300 لیکن آپ کو ایک بنانے کے وقت iOS درخواست، وہاں 1084 01:00:40,300 --> 01:00:47,590 مخصوص تقریب کے ناموں سے ہیں کہ فون خود کی طرف سے کہا جاتا ہے 1085 01:00:47,590 --> 01:00:52,440 درخواست کرنے کی کوشش کرنا لوڈ کر رہا ہے کے طور پر کہ اصل میں عمل پیدا کرنے کے لئے 1086 01:00:52,440 --> 01:00:54,787 آپ کی درخواست چلاتے ہیں. 1087 01:00:54,787 --> 01:00:58,120 تو ایک بار پھر، چیزوں کی ایک بہت ہے کہ میں ہمارے لئے ترتیب میں یہاں ٹیکہ ہے 1088 01:00:58,120 --> 01:01:00,570 اس کے بارے میں خاص طور پر بات کرنے کے لئے. 1089 01:01:00,570 --> 01:01:06,050 لیکن میں شاید کو دیکھنے کے لئے آپ کی حوصلہ افزائی دوسرے iOS سیمینار، بلکہ کچھ 1090 01:01:06,050 --> 01:01:09,290 ہے جس میں سبق آن لائن بیان کرنے کا ایک بہت اچھا کام 1091 01:01:09,290 --> 01:01:11,030 مخصوص معلومات. 1092 01:01:11,030 --> 01:01:15,760 >> لیکن ہم چیزوں کی ایک جوڑے کو دیکھ کر سکتے ہیں یہاں کوڈ سے دلچسپ ہیں. 1093 01:01:15,760 --> 01:01:17,950 ہم بیانات تو ہے کہ محسوس کریں. 1094 01:01:17,950 --> 01:01:20,400 ویسے، ایک اہم بیانات تو کے بارے میں بات 1095 01:01:20,400 --> 01:01:24,860 ہے اس کے ارد گرد قوسین بولین اظہار اختیاری ہیں. 1096 01:01:24,860 --> 01:01:30,800 لیکن گھوبگھرالی منحنی خطوط وحدانی، اختیاری نہیں ہیں کوئی بات نہیں کس طرح چند یا کوڈ کے کئی لائنوں 1097 01:01:30,800 --> 01:01:32,360 آپ کو ایک بیان اگر میں ہے. 1098 01:01:32,360 --> 01:01:38,670 آپ بیانات تو ایک نہیں کر سکتے ہیں سوئفٹ میں گھوبگھرالی منحنی خطوط وحدانی کے بغیر. 1099 01:01:38,670 --> 01:01:41,000 >> یہ، اچھی طرح، کی طرح پاگل ہے. 1100 01:01:41,000 --> 01:01:43,910 لیکن اس کے لئے تاریخی وجوہات کی بنا ہے. 1101 01:01:43,910 --> 01:01:46,180 یہ اپنے آپ کی طرف سے آپ کو بچانے کے لئے توقع کی جاتی ہے. 1102 01:01:46,180 --> 01:01:49,899 مثال کے طور پر اس طرح، تم نہیں کر سکتے اس کے ارد گرد گھوبگھرالی منحنی خطوط وحدانی کے خاتمے 1103 01:01:49,899 --> 01:01:50,440 اگر بیان. 1104 01:01:50,440 --> 01:01:52,730 وہ حقیقت یہ ہے کہ میں کی ضرورت ہے. 1105 01:01:52,730 --> 01:01:54,480 تو میں آپ کی حوصلہ افزائی اس پر ایک نظر ڈالیں. 1106 01:01:54,480 --> 01:01:56,230 لیکن ایک سے زیادہ ہے میں چاہتا ہوں کہ تعمیر 1107 01:01:56,230 --> 01:02:02,640 سوئفٹ کے بارے میں آپ کو ظاہر کرنے کے لئے اس مقابلے سوئفٹ 2.0 میں نیا ہے 1108 01:02:02,640 --> 01:02:08,460 سوئفٹ کے پرانے ورژن کے لئے، جو مندرجہ ذیل ہے. 1109 01:02:08,460 --> 01:02:11,620 میں نے اسے یہاں ڈال دیا تھا جہاں چلو دیکھتے ہیں؟ 1110 01:02:11,620 --> 01:02:16,630 >> تو اس تقریب میں بلایا fetchJSON، اس تقریب 1111 01:02:16,630 --> 01:02:23,450 کہ JSON ھیںچ کے لئے ذمہ دار ہے صرف اتنا ہوتا ہے جس میں ایک یو آر ایل، سے فائل 1112 01:02:23,450 --> 01:02:26,310 میرے CS50 IDE پر چلانے کے لئے. 1113 01:02:26,310 --> 01:02:28,580 میں صرف، اپاچی شروع وہاں اپنے JSON فائل ڈال، 1114 01:02:28,580 --> 01:02:32,110 اور میں پھر اس ھیںچو کرنے کے قابل ہوں استعمال کرتے ہوئے انٹرنیٹ سے اعداد و شمار 1115 01:02:32,110 --> 01:02:36,430 اس تقریب اور اس یو آر ایل، جس کے فون کی طرف سے فراہم کی جاتی ہے. 1116 01:02:36,430 --> 01:02:40,490 یہ ایک کی طرف سے فراہم کی ہے لائبریری جب آپ استعمال کرتے ہیں کہ 1117 01:02:40,490 --> 01:02:43,140 آپ کو کچھ iOS اپلی کیشن ترقی کر رہے ہیں. 1118 01:02:43,140 --> 01:02:49,690 >> یہ غیر معمولی ہے کہ وہاں یہاں نوٹس نحوی تعمیر گارڈ بلایا. 1119 01:02:49,690 --> 01:02:53,530 اور واقعی یہ سب میں ہے سوئفٹ کی تصدیق کا ایک طریقہ ہے 1120 01:02:53,530 --> 01:02:56,870 کچھ چیزیں ہیں کہ تم سے پہلے ملاقات کی گئی 1121 01:02:56,870 --> 01:03:00,000 تقریب کے باقی حصوں کے ساتھ آگے بڑھنے. 1122 01:03:00,000 --> 01:03:04,260 لہذا میں استعمال کر رہے ہیں، کر سکتے ہیں یہ اختیاری کی قسم، 1123 01:03:04,260 --> 01:03:10,530 میں یو آر ایل کی طرف سے پایا جا سکتا ہے اس NSURL تقریب چل رہا ہے 1124 01:03:10,530 --> 01:03:16,640 اور ایک یو آر ایل میں اس ذخیرہ مسلسل، اور اس کے بعد کی جانچ پڑتال 1125 01:03:16,640 --> 01:03:20,820 یو آر ایل صفر تھا تو، کو دیکھنے کے لئے اس کی وجہ سے ایک اختیاری قسم واپس جا رہا تھا. 1126 01:03:20,820 --> 01:03:25,660 یہ صفر تھا، تو میں کروں گا ایک غلطی باہر پرنٹ اور اس کے بعد واپس. 1127 01:03:25,660 --> 01:03:29,970 >> بلکہ اس کی بجائے، جو گارڈ کی اجازت دیتا ہے ہمیں، کہ بہت اچھی بات ہے کیا 1128 01:03:29,970 --> 01:03:34,550 لیکن یہ اس بات کا یقین اصل میں ایسا کہ یو آر ایل 1129 01:03:34,550 --> 01:03:38,020 مناسب طریقے سے NSURL کی طرف سے مقرر کیا گیا ہے. 1130 01:03:38,020 --> 01:03:41,810 اور یہ اس وقت ہے تو اس سے زیادہ میں skips، اور یہ 1131 01:03:41,810 --> 01:03:46,110 آپ کے ساتھ آگے بڑھنے کے لئے کی اجازت دے گا یو آر ایل ٹھیک بیان کیا گیا ہے. 1132 01:03:46,110 --> 01:03:48,830 لیکن اگر یہ معاملہ ہے کہ یو آر ایل ٹھیک وضاحت نہیں ہے، 1133 01:03:48,830 --> 01:03:52,550 اس تقریب کا ایک خامی واپس تو یا کسی دوسرے غیر متوقع بات 1134 01:03:52,550 --> 01:03:58,030 اصل میں، اس گارڈ کی تعمیر اس وقت ہوتی ہے تو پیداوار ہے کہ غلطی کرنے کی اجازت دیتا 1135 01:03:58,030 --> 01:04:00,390 اور فوری طور پر واپس. 1136 01:04:00,390 --> 01:04:00,890 جی ہاں؟ 1137 01:04:00,890 --> 01:04:04,839 >> سامعین: تو یہ قسم ہے کے بعد اور اگر پسند کریں گے؟ 1138 01:04:04,839 --> 01:04:07,130 DAN ARMENDARIZ: یہ قسم کی ہے ، ایک جی ہاں، تو اور اگر کی طرح 1139 01:04:07,130 --> 01:04:14,200 اس یو آر ایل ہے تو سوائے اس کے کہ اس ذیل میں سب کچھ کے لئے کی وضاحت. 1140 01:04:14,200 --> 01:04:20,420 اس کے بعد، اس گارڈ گزر جاتا ہے اصل اعداد و شمار کے ساتھ بھر جائے گی 1141 01:04:20,420 --> 01:04:29,500 اور باقی میں استعمال کے قابل آپ کی تقریب میں منبع کوڈ. 1142 01:04:29,500 --> 01:04:33,790 تو میں آپ کے لئے جا رہے ہیں کہ شبہ اس کے ساتھ ساتھ گارڈ دیکھنے کے لئے شروع. 1143 01:04:33,790 --> 01:04:36,670 اس بات کا احساس ہو. 1144 01:04:36,670 --> 01:04:46,270 >> تو دوسرے کے ایک جوڑے کو دیکھ کر چیزیں، یہاں یہ صحیح ہے، 1145 01:04:46,270 --> 01:04:53,377 آپ کو لگتا ہے، صرف کی بنیاد پر ہم سے پہلے کے بارے میں بات کر رہے تھے؟ 1146 01:04:53,377 --> 01:04:56,650 >> سامعین: اس فہرست میں چلائے جائیں گے لگتا ہے؟ 1147 01:04:56,650 --> 01:04:59,100 >> DAN ARMENDARIZ: تو اس کے قریب ہے. 1148 01:04:59,100 --> 01:05:02,360 یہ ہم وضاحت کر رہے ہیں کہ ایک تقریب ہے. 1149 01:05:02,360 --> 01:05:07,240 اور ہم نے اس تقریب inputting کی ہیں یہاں اس تقریب میں ایک دلیل کے طور. 1150 01:05:07,240 --> 01:05:09,120 >> سامعین: صفر [اشراوی] اگر نہیں. 1151 01:05:09,120 --> 01:05:11,470 تو یہ درست ہے، فہرست میں ہے؟ 1152 01:05:11,470 --> 01:05:15,450 >> DAN ARMENDARIZ: خرابی صفر نہیں ہے تو، تاکہ میں سکرال کرنے کی ضرورت ہے تاکہ is--. 1153 01:05:15,450 --> 01:05:18,060 ویسے، مجھے سچ میں، چلو دیکھتے نہیں کر سکتے یہاں دائیں کرنے کے لئے سکرال. 1154 01:05:18,060 --> 01:05:23,161 غلطی کیا جا رہا ہے کہ ایک دلیل ہے اس گمنام تقریب میں منظور. 1155 01:05:23,161 --> 01:05:24,410 یہ ایک گمنام تقریب ہے. 1156 01:05:24,410 --> 01:05:25,480 یہ کوئی نام ہے. 1157 01:05:25,480 --> 01:05:29,850 لیکن ہم ان تین قبول کر رہے ہیں دلائل، کے اعداد و شمار، جواب، اور غلطی. 1158 01:05:29,850 --> 01:05:33,590 اور ایسا، باطل واپس جا رہا ہے اسے کچھ بھی واپس نہیں جا رہا ہے. 1159 01:05:33,590 --> 01:05:37,910 یہ مواد ہے اس تقریب کی. 1160 01:05:37,910 --> 01:05:41,961 اور پھر ہم اس کے اندر رسائی حاصل ہے ان دلائل میں سے ہر ایک کے لئے تقریب. 1161 01:05:41,961 --> 01:05:45,650 1162 01:05:45,650 --> 01:05:48,679 >> تو یہ ایک بونڈر ہے زبان کے دورے. 1163 01:05:48,679 --> 01:05:50,470 لیکن میں اس کے ساتھ امید ہے کہ، امید ہے کہ آپ لے کے طور پر 1164 01:05:50,470 --> 01:05:54,490 سبق کی کچھ پر ایک نظر سوئفٹ کے ساتھ iOS ترقی کے لئے مخصوص، 1165 01:05:54,490 --> 01:05:57,481 آپ کو جانا خاص طور پر اگر ایپل کے ڈویلپر ویب صفحہ 1166 01:05:57,481 --> 01:05:59,980 وہ واقعی اچھے کی ایک بہت کچھ کرنا پڑے سبق آپ کو شروع کرنے. 1167 01:05:59,980 --> 01:06:05,010 لیکن بات کرنے کا امید ہے کہ صرف اس گھڑی نحو کے بارے میں خود کو دیا ہے 1168 01:06:05,010 --> 01:06:08,760 آپ کو کافی اس کے ساتھ شروع کرنے کے لئے. 1169 01:06:08,760 --> 01:06:12,950 >> ہم اس کے ذریعہ کی تمام پوسٹ کرے گا سیمینار ویب سائٹ پر کوڈ 1170 01:06:12,950 --> 01:06:17,800 جتنی جلدی ممکن ہو، اور بھی سلائڈ کے طور پر لہذا آپ کو تمام لوگوں کے لئے ایک حوالہ ہے. 1171 01:06:17,800 --> 01:06:20,530 آپ کے منصوبوں کے ساتھ لیکن اچھی قسمت. 1172 01:06:20,530 --> 01:06:23,640 اور آنے کے لئے آپ کا بہت بہت شکریہ. 1173 01:06:23,640 --> 01:06:26,990 >> [تالیاں] 1174 01:06:26,990 --> 01:06:28,026