>> [موسیقی بجانے]
>> DAN AMRMENDARIZ: ہر کوئی، CS50 سیمینار کرنے کا خیرمقدم کرتے،
سوئفٹ کے ساتھ iOS اپلی کیشن ترقی.
میں ڈین Armendariz ہوں، اور میں نے ایک استاد ہوں یہاں ہارورڈ میں کمپیوٹر سائنس کے.
>> اور اگلے گھنٹے کی جا رہی ہے جتنا سامان کی ایک بونڈر دورے
اس موضوع کے بارے میں ہم فٹ کر سکتے ہیں کے طور پر.
میں منبع کوڈ کے تمام پوسٹ کرے گا آپ آن لائن آج دیکھیں گے کہ.
ہم کرنے کے قابل نہیں ہو سکتا ہے اصل میں سب کچھ ختم ہو جانا
میں ہوں کہ ہوں کہ اس گھڑی میں آپ کو دکھا.
لیکن کم سے کم امید ہے کہ کے ذریعے ماخذ کوڈ کے تبصرے،
آپ کو پتہ کرنے کی کوشش کرنے کے قابل ہو جائے گا کیا بالکل ان چیزوں کے لئے کیا ہو رہا ہے
ہم بہت حاصل کرنے کے لئے نہیں ہے.
>> کی مجموعی، ساخت مندرجہ ذیل کے طور پر آج کی بات ہو جائے گا.
ہم کچھ بنیادی کر رہے شروع کریں گے سوئفٹ زبان نحو،
زیادہ اعلی درجے کی میں سے کچھ میں جانے سوئفٹ زبان کی نحو.
زبان کی وجہ سے واقعی جدید اور یہ ہے
اعلی سطح کی ایک بہت ہے خصوصیات، ہم نہیں ہے کہ چیزوں
، CS50 بھر C میں دیکھا یا یہاں تک کہ کچھ دیگر زبانوں
ہم شروع کر دیا ہے پی ایچ پی کی طرح CS50 میں استعمال کر رہے ہیں،
تو میں کوشش کرنے کے لئے جا رہا ہوں بھی کچھ موضوعات متعارف کرانے ہے کہ
اعلی درجے کی زبانوں سے متعلق ہیں آپ CS50 میں گہرائی میں نہیں دیکھ سکتا ہے کہ،
لیکن آپ کو بعد میں دیکھیں گے کمپیوٹر سائنس کی کلاسیں.
تو یہ ایک ہونے جا رہا ہے مضبوطی گھنٹے پیک.
اور مجھے مطلع کرنے کے لئے براہ مہربانی بلا جھجھک آپ کا کوئی سوال ہے تو میں جاننا.
آپ دلچسپی رکھتے ہیں تو ترقی کرنے میں
سوئفٹ کے ساتھ، یا واقعی کسی بھی iOS اپلی کیشن ترقی،
ضروریات کے ایک جوڑے کی ہیں.
سب سے پہلے، آپ استعمال کرنا ہوگا ایک میک، مثالوں میں چل رہا ہے
آج ہم استعمال کرتے ہوئے جا رہے ہیں کہ، OS کے ایک نسبتا نیا ورژن
اس صورت میں ایکس میں ایکس 10.5 رہا ہوں.
اگر آپ چاہتے ہیں آپ کو 10.11 چلانے ہو سکتا.
لیکن سب کچھ آپ کے لئے جا رہے ہیں بعد میں Xcode ہے 7 اور شامل ہے کو دیکھنے کے،
جس کی تازہ ترین ورژن ہے سوئفٹ 2.0 ہے جو سوئفٹ، کے.
یہ اصل میں ایک خوبصورت ہے اہم فرق.
نحو کے ایک بہت کچھ ہے خوبصورت نمایاں طور پر تبدیل
سوئفٹ 1.0 سے بعض صورتوں میں، گزشتہ سال جاری کیا گیا تھا،
سوئفٹ 2.0، جس سے صرف اس موسم خزاں سے باہر آئے.
تو ہم سوئفٹ 2.0 ظاہر کرنے کے لئے جا رہے ہیں.
چیزوں کی ایک بہت ہے کہ آپ آن لائن کے لئے تلاش
آپ کو اضافی حاصل کرنے کی کوشش کر رہے ہیں جب چیزوں کی ایک قسم کے بارے میں معلومات،
آپ کو واضح طور کرنا چاہتے ہیں سوئفٹ 2 کے لئے تلاش
بلکہ صرف سادہ پرانے سوئفٹ زیادہ بنانے کے لئے آپ نحو درست حاصل ہے کہ اس بات کا یقین.
>> اصل میں، یہ عام طور پر سچ ہے.
ترقی کی ایک تیزی سے رقم نہیں ہے سوئفٹ زبان میں ہو
ایپل یہ جاری کبھی کے بعد سے، مجھے لگتا ہے کہ کیا ہے، یہ ایک سال سے زیادہ ایک چھوٹا سا ہو گیا ہے
اب.
اور چیزیں بدل گئی ہیں ڈرامائی طور پر اس وقت میں.
اور اس طرح مایوس نہ ہو تو، آپ کے ارد گرد تلاش کر رہے ہیں جب
کس طرح پورا کرنے سوئفٹ یا موضوعات کے لئے کچھ مثال کے طور کوڈ استعمال کر کچھ
یا کچھ اور یہ نہیں ہے کہ اصل سوئفٹ 2.0 پر کام.
یقین ہے کہ آپ تلاش کر رہے ہیں بنائیں خاص طور پر اس ورژن کے لئے
مختلف کے اثرات کو کم سے کم کرنے کی کوشش کریں ورژن اور ان چیزوں کی قسم.
>> میں صرف کچھ چیزوں کو باہر کی طرف اشارہ کرنے کی کوشش کریں گے پرانے ورژن کے لئے مختلف ہیں کہ.
لیکن اس کے لئے باہر دیکھنے کے لئے کچھ ہے.
یہ شاید جا رہا ہے سب سے بڑا سر درد کی ایک
آپ سوئفٹ کے ساتھ پڑے گا تلاش کر رہا ہے کہ ، یہاں تک کہ صرف بڑی عمر ہے کہ مثال کے طور پر کوڈ
چند ماہ کی طرف سے، استعمال کرنے کی کوشش یہ آپ سے زیادہ جدید منصوبے میں.
اور یہ صرف صرف کام نہیں کرتا.
آپ سنکلک غلطیاں ہو رہی ہے، نحو غلطیاں، پاگل چیزیں کے تمام قسم کے.
تو ساتھ صبر کہ، اور آپ کو امید ہے کہ گے
ایک بہت اچھا تجربہ ہے سوئفٹ مجموعی کے ساتھ.
>> اب آپ اصل میں کر سکتے ہیں اور مجھے امید ہے کہ join-- ہم اصل میں اب بھی اس year-- ہے
کاوچ سرفنگ کے 50 ایپل اپلی کیشن ترقی کی ٹیم، جس میں
آپ کو کسی بھی اطلاقات کو نصب کرنے کے لئے کی اجازت دے گا جس سے آپ اپنے iOS آلات پر بنانے.
تو اس یو آر ایل ہے پر ایک نظر ڈالیں آپ کو یہ کرنے میں دلچسپی رکھتے ہیں.
>> کی تو صرف ایک جوڑے سوئفٹ خود کے بارے میں چیزیں.
یہ ایک مرتب زبان ہے.
لیکن تم نے اس سے کچھ دیکھیں گے ہم استعمال کرتے ہیں کہ خصوصیات میں سے
یہ تھوڑا سا میں بھی استعمال کیا جا کرنے کی اجازت ایک طریقہ کے طور پر اچھی طرح سے تشریح کی طرح.
>> نحو کی ایک بہت ادھار لیا ہے C. سے یہ مبنی ہے اور سی میں لکھا
اور اس طرح ہم دیکھیں گے کہ نتائج یہ کے ایک بہت ہیں
اپنے موجودہ علم سے ہم C سے سوئفٹ بندرگاہ کر سکتے ہیں.
>> لیکن چیزیں ہیں کہ C. سے یہ بہت مختلف کر دے
یہ بہت سختی ٹائپ ہے.
خود کار طریقے سے یاد داشت مینجمنٹ ہے.
آپ کو حاصل کرنے کے لئے نہیں جا رہے ہیں malloc یا مفت کہیں بھی استعمال.
یہ کوریج کے لئے ڈیزائن کیا گیا ہے.
تو دوسرے الفاظ میں، آپ کو اس میں استعمال کر سکتے ہیں ایپل سے سیاق و سباق کے تمام قسم کے،
فون کرنے کے لئے تمام طریقے سے OS X، اور کرنے کے لئے یہاں تک کہ کچھ سرورز، یہاں تک کہ کچھ سکرپٹ.
لیکن ہم اس کو دیکھ لیں گے سکرپٹ کے لئے حمایت
کافی نہیں ابھی تک ہے یہ دیگر زبانوں میں ہے.
تو سب سے زیادہ امکان آپ کو استعمال کریں گے اس خصوصی ترقی کے لئے
اپنے میک یا آپ کے فون پر.
>> اور یہ جدید خصوصیات میں سے ایک بہت کچھ ہے.
اور ان چیزوں کی ایک بہت چیزیں ہیں کہ ہم آج سے نمٹنے کے لئے کوشش کرنے کے لئے جا رہے ہیں
بلکہ ہمارے موضوعات واضح ہے کہ، ہم پورے کورس وقف کر سکتے ہیں.
ہے جو اصل میں، کاوچ سرفنگ کے 51، پیشکش اگلے سمسٹر،
ان موضوعات پر بہت توجہ مرکوز کہ ذیل میں بیان کر رہے ہیں.
تو آپ کو ایک پوری سمسٹر خرچ کر سکتے ہیں ان چیزوں کو سمجھنے.
لیکن ہم کوشش کرنے کے لئے جا رہے ہیں ان کے ذریعے حاصل کرنے کے لئے
کم از کم کافی آپ کو اس کیا سمجھ سکتے ہیں
آپ کو نظر آتے جب چل رہا ایک سوئفٹ پروگرام میں
اور اپنے راستے کو ہیک کرنے کے قابل ہو جائے حتمی منصوبے کے لئے اس کے ذریعے.
>> بہترین طریقوں میں سے ایک اب جب کہ آپ کر سکتے ہیں اس پر مزید معلومات حاصل
صرف ایپل کے ذریعے واضح ہے سوئفٹ کے لئے دستاویزات فراہم کی.
APIs کی ایک بہت کچھ ہے دستیاب ہیں.
اور یہ آپ کے لئے ایک اچھا گھر کی بنیاد ہے ، مخصوص چیزیں تلاش کرنے کے لئے کہ آپ کو
iOS کے شامل ایک API کے ساتھ کیا کرنا چاہتے ہیں.
آپ کے لئے کیمرے استعمال کرنا چاہتے ہیں مثال کے طور پر، آپ کو یہاں دیکھ کر شروع کر سکتے ہیں
اور بھی گوگل اور اسٹیک استعمال آپ عام طور پر کریں گے کے طور اتپرواہ.
>> اس پر کوئی سوال ہم میں صحیح کود سے پہلے؟
بالکل ٹھیک.
کی پر منتقل کرتے ہیں.
>> تو سب سے پہلے، میں نے ایک مثال کے طور پر فائلوں کی تعداد.
اور میں قدم رکھنے کی کوشش کرنے کے لئے جا رہا ہوں نسبتا تیزی سے ان کے ذریعے.
یہ سوئفٹ کے لئے ہیلو دنیا فائل ہے.
یہ بہت آسان ہے.
جس طرح سے زیادہ تبصرے نہیں ہے اصل کوڈ کے مقابلے میں ہیں.
اصل کوڈ میں ہے محسوس لائن 14 پر بہت نیچے.
یہ پرنٹ کا کہنا ہے کہ.
اور پھر یہ ایک تقریب کا فون ہے.
ہم نے اسے ایک میں گزر رہے ہیں سٹرنگ خوش CS50 بلایا.
کوئی سیمیکالن ہے کہ نوٹس.
کوئی int اہم ہے کہ وہاں نوٹس.
میں سے کوئی بھی نہیں ہے ہم سی کے ساتھ تھا کہ cruft
ہم اس طرح سوئفٹ استعمال کر رہے ہیں جب، صرف ایک ٹیکسٹ فائل میں لکھا ہے جس میں
اور اس کے بعد، اپنے کمپیوٹر پر محفوظ میں اسے مرتب اور اس کو چلا سکتے ہیں.
>> ہوں کہ یہاں نوٹس CS50 IDE کا استعمال نہیں.
یہ میں ہوں کہ مان لیا گیا چل رہا ہے اور میں OS X پر ہوں کہ،
اور میں Xcode ہے پہلے سے انسٹال کیا ہے کہ اس کے لئے ترتیب میں اس مشین پر
اصل تقریب میں.
لیکن یہ صرف ایک عام ٹیکسٹ فائل ہے کہ ہم پھر مرتب اور ترمیم کر سکتے ہیں.
تو یہ اصل میں کس طرح کام کرتا دیکھتے ہیں.
کیا میں اسے مرتب کرنا چاہتے ہیں؟
swiftc 1.swift.
ایک یا دو لمحے کے بعد، یہ اب ہم دیکھیں گے کہ
1 نامی ایک فائل میں اس مرتب.
اور اب ہم ہمارے CS50 چھپی ہے، بلکہ ہماری ہیلو دنیا درخواست.
>> کے طور پر ایک دوسری بات یہ نوٹس ٹھیک ہے، یہ ڈیفالٹ کی طرف سے ہے
ہم ان پٹ کی ضرورت نہیں تھی / N ایک نئی سطر میں پرنٹ کرنے کے لئے.
پہلے سے طے شدہ، پرنٹ تقریب میں کی طرف سے سوئفٹ آپ کے لئے ایک نئی سطر میں پرنٹ گا.
آپ ایک اختیاری اضافی منتقل کر سکتی ہیں پیرامیٹر ایسا کرنے کے لئے نہیں یہ بتانے کے لئے.
لیکن اس بارے میں مزید معلومات کے لئے گوگل.
ڈیفالٹ کی طرف سے، یہ پرنٹ لائن کروں گا.
>> ٹھیک ہے، تو پر منتقل پھر کچھ دوسری چیزوں کے.
تو ہم کس طرح اصل میں متغیر کی وضاحت کر سکتے ہیں؟
ہم اس کا استعمال کرتے ہوئے کر سکتے ہیں دو طریقوں میں سے ایک.
اور میں چاہتا ہوں کہ ایک آپ کو بتانا پہلے کے بارے میں یہ لشکر طیبہ تعریف ہے.
اور یہ اہم ہے مؤثر طریقے سے کی وجہ سے
ہم کیا کر رہے ہیں ایک مسلسل وضاحت ہے.
ہم نے ایک متغیر بنانے کے لئے جا رہے ہیں، یا بلکہ ایک مسلسل نام نہاد نام،
کچھ data-- میں اس کے لئے فراہم کرتے ہیں اس صورت، سٹرنگ ڈین.
لیکن یہ لشکر طیبہ کا استعمال کرتے ہوئے مطلوبہ الفاظ، ہم کہہ رہے ہیں
اس متغیر ہے یا دوبارہ بلایا constant--
نام تبدیل کر دیا گیا نہیں کیا جا رہا ہے.
اس پورے ناقابل ہونے جا رہا ہے اس پروگرام کی مدت
یا بھر سیاق و سباق کی مدت
کہ متغیر دستیاب ہے.
>> یہ ہے کہ جب بہت ضروری ہے تم نہیں ہے کہ کچھ اعداد و شمار ہے
آپ کے پروگرام میں تبدیل کرنے جا رہا، اور آپ کو مثالوں کی ایک قسم کو دیکھ لیں گے
ہم استعمال کرنا چاہتے ہیں جب کے بارے میں دیگر نحو بمقابلہ دو،
آپ کو دو استعمال کرتے ہیں یہ ضروری ہے جہاں کہیں ممکن ہو اس اعلان کرتا کیونکہ
یہ ہے کہ زبان تبدیل کر دیا گیا نہیں کیا جا سکتا،
اور یہ اصل میں انجام دے سکتے ہیں اصلاحات کی ایک بہت
رفتار کو بہتر بنانے کے لئے اور آپ کے پروگرام کی حفاظت.
اور حفاظت کی طرف سے، میں کی اجازت نہیں مطلب پاگل غلطیوں کے ساتھ اس حادثے
ہم ہو سکتا ہے C. میں دیکھنے کے عادی
>> پھر ہم سٹرنگ پرکشیپ استعمال کر سکتے ہیں ایک تار کے اندر اندر اس encapsulate کی.
تو ہم نے اس میں دیکھ سکتے ہیں پرنٹ لائن، ہیلو پرنٹ،
اور پھر الٹا سلیش کھلی parens استعمال کرتے ہوئے، اور پھر میرے متغیر کے نام،
اس معاملے میں مسلسل، قوسین بند.
میں بنیادی طور پر تو ڈال رہا ہوں اس متغیر بلایا نام کے مندرجات
سٹرنگ کے اندر اور اس کے بعد وہاں نتیجہ پرنٹنگ.
>> اس فائل کے ساتھ ایک دوسرے تبدیلی ہے جس میں سب سے اوپر پر، یہ ہے کہ،
، ایک shebang کی لائن میں ڈال دیا جس بنیادی طور پر صرف کی وضاحت کرتا ہے
میں استعمال کرنا چاہتے ہیں سوئفٹ مترجم، جس
میں اب کا مطلب ہے کہ یہ خاص طور پر پروگرام مرتب.
میں صرف اس کے اپنے سکرپٹ کی طرح اس کو چلا سکتے ہیں.
لیکن اس کے پیچھے، اس معاملے میں، ہے مناظر مرتب کیا ہے اور اس کے بعد کیا جا رہا ہے
رن ہونے.
یہ ہمارے لئے صرف پوشیدہ ہے.
>> ٹھیک ہے، تو پر منتقل.
تو trickery کی تھوڑا سا ہے کہ صرف اس سے پہلے ہوا.
میں نے تمہیں اس میں سے ظاہر ہوتا ہے ایک مسلسل وضاحت کر سکتے ہیں.
اور میں ایسا کرنے کے لئے کچھ ڈیٹا فراہم کر سکتا ہے.
لیکن اس معاملے میں، میں نے نہیں کیا ہے کہ محسوس کریں اصل اعداد و شمار کی قسم کی وضاحت
یہ ہے کہ.
اور اس کی وجہ سے ہے سنکلک، سوئفٹ کر سکتے ہیں
صرف بنیاد پر اعداد و شمار کی قسم کا استنباط میں نے اس میں ڈال دیا ہے کہ اعداد و شمار پر.
اس کی طرف سے اس کا جائزہ لینے کہ جانتا ہے کیونکہ متغیر یہیں، یہ اعداد و شمار درست
یہاں، یہ ایک تار ہے کہ جانتا ہے.
اور اس طرح یہ مسلسل کا نام اس وجہ سے ہے کے طور پر اچھی طرح سے ایک تار ہو رہا.
>> لیکن ہم یہ بھی واضح ہو سکتا ہے ہے کہ قسم کے بارے میں
ہم آپ کے لئے استعمال کرنے کے لئے جا رہے ہیں constants کی یا متغیر
یہ نحو کا استعمال کرتے ہوئے instead-- نام قولون سلک برابر دو
اس معاملے میں ہم ہیں جس کا مطلب ہے ڈین، پر کہا جاتا مسلسل نام کی وضاحت کرنے کے لئے جا.
یہ قسم سٹرنگ کی ہونے جا رہا ہے.
اور قدر دان ہونے جا رہا ہے.
اب دوسرے طریقے کہ ہم متغیر تشکیل دے سکتے ہیں
اور ان تبدیلی متغیر، ہیں جو ہم ہیں کہ، حقیقت میں، جانے کا مطلب ہے
کچھ دیر ان کے مواد کو تبدیل کرنے سیاق و سباق سے مدت میں
کہ متغیر ہم defined-- ہے کہ متغیر مطلوبہ الفاظ کا استعمال کی بجائے دو.
لیکن ایک بار پھر، ڈیفالٹ کی طرف سے، جب تک کہ آپ کو معلوم ہے آپ کو کہ ڈیٹا جوڑتوڑ کرنے کی ضرورت ہے،
کے لئے دو استعمال کرنے کی کوشش کارکردگی میں بہتری.
>> اس صورت میں، میں نے تو کر سکتے ہیں اعداد و شمار کی قسم کی وضاحت
ہم کے اندر ہونے کی توقع ہے لیبل اس نئی ملاقات کی متغیر.
یہ ایک تار ہو رہا ہے.
اور ہم تو سلسلہ بندی کرنا جا رہے ہیں دو ڈور ایک دوسرے کے ساتھ، سٹرنگ ہیلو،
اور سٹرنگ کی طرف سے نمائندگی متغیر، یا بلکہ مسلسل نام.
>> تو اس کی وجہ سے بہت اچھا ہے کسی حد تک ہے کہ ہم کی طرح پی ایچ پی
بہت آسان سٹرنگ concatenation ہے.
ہم خود کار طریقے سے کرنے کی ضرورت نہیں یاد داشت مینجمنٹ کی کسی بھی قسم کا استعمال کرتے ہیں
سائز میں اضافہ اور کرنا وہاں عجیب چیزوں میں سے کسی قسم کا.
ہم اصل میں توقع کریں گے کے طور پر یہ کام کرتا ہے.
>> ٹھیک ہے، اس پر کوئی سوال؟
>> اب دوسری وجہ ہے کہ ہم آپ کی صلاحیت کی ضرورت ہے
کیا وضاحت کرنے کے قابل ہو جائے کرنے کے لئے ڈیٹا متغیر کی قسم ہے
کبھی کبھی ہم ایسا نہیں کرتے کیونکہ متغیر ابتدا کرنا چاہتے ہیں
میں کچھ اعداد و شمار کے ساتھ تعریف کے نقطہ.
تو اس صورت میں، کا کہنا ہے کہ میں inputting کی شروع کرنے کے لئے چاہتے ہیں کہ
ایک جماعت کی کتاب میں کچھ گریڈ.
ویسے مجھے معلوم ہے میں سے ایک ہے میں بننا چاہتا ہوں کہ متغیر
ایک تبدیلی گریڈ ہونے جا رہا ہے.
اور ہم یہ بھی جانتے ہیں کہ ہم اس یہ ایک عدد صحیح ہونا چاہتے ہیں.
لیکن شاید ہم ابھی تک ایسا نہیں کرتے کہ گریڈ دستیاب ہے.
>> سوئفٹ میں، آپ کو کرنا پڑے اعداد و شمار کی قسم کی وضاحت
کہ ایک کے ساتھ منسلک کیا جاتا ہے متغیر یا ایک مسلسل دو
آپ اصل میں کر سکتے ہیں سے پہلے کہ متغیر کا استعمال.
اس کی سختی سے ٹائپ کیا جاتا ہے، آپ کو ایک قسم سے منسلک کرنے کی ضرورت ہے
ان متغیرات میں سے.
>> میں ٹھیک نہیں ہے تو، تو اس صورت میں کچھ قیمت کے ساتھ سب سے پہلے سے initialized،
پھر میں سوئفٹ بتانے کی کیا ضرورت میں اعداد و شمار کی قسم ہونے کی توقع.
یہ رہنے کے لئے جا رہا ہے اسی ڈیٹا کی قسم
اس پروگرام کی تاریخ میں.
>> اب آپ جتنی جلدی لالچ میں آ جا سکتا ہے میں اس گریڈ متغیر پیدا کیا ہے
اور یہ ایک فراہم میں تو اب 100 عددی،
سلسلہ بندی کرنے کی کوشش کرنا چاہتے ہیں اس عددی کے ساتھ ایک سٹرنگ،
اب بھی استعمال کرنے کے لئے لالچ میں آ جا سکتا ہے کہ سٹرنگ concatenation آپریٹر
کی طرح ہم صرف ایک چند لائنوں سے پہلے کیا.
لیکن بدقسمتی سے، یہ اصل میں نہیں
کیونکہ تم، کام بنیادی طور پر کارکردگی کا مظاہرہ
دو مختلف اقسام پر ایک کارروائی.
>> اب یہ دوسرے سے بہت مختلف ہے سچ میں ہیں جو پی ایچ پی کی طرح زبانوں
اقسام کے ان قسم کے ساتھ loosey مورھ.
وہ صرف، جی ہاں، کی طرح ہیں جو کچھ بھی، مجھے کوئی پرواہ نہیں.
بس مجھے ایک قسم دے، اور شاید میں صحیح بات کروں گا.
>> اس صورت میں، والا ہے اقسام کے بارے میں انتہائی سخت
آپ کے ساتھ نمٹنے کر رہے ہیں.
یہ summation آپریٹر یا concatenation آپریٹر
کی بنیادی طور پر ایک جوڑے کی ہے مختلف ممکن اختیارات.
تم summation کے کر سکتے ہیں integers کے، یا آپ کے ساتھ
سٹرنگ concatenation کرتے ہیں، اور کر سکتے ہیں شاید کچھ دوسری چیزوں کے ساتھ ساتھ.
لیکن اس کا آپریٹر آپ کو تسلیم نہیں کرتا تو اس کے دونوں کناروں پر کیا ہے،
یا ان کا مجموعہ نہیں بلکہ دو اقسام، اس کی توقع ہے کیا نہیں ہے،
تو یہ ایک ناکامی کی وجہ سے ہو رہا ہے.
>> تو اس صورت میں، اس کا کیا مطلب ہے ایک تار کے علاوہ ایک عدد صحیح ہے کرنے کے لئے؟
ویسے کے تناظر میں اس، ہم شاید چاہتے ہیں
ایک سٹرنگ concatenation آپریشن کرنا.
لیکن کورس کے کمپیوٹر سیاق و سباق سے اس طرح نہیں ہے.
اور اس طرح ہم فراہم کرنے کی ضرورت کہ اضافی معلومات
یہ کیا بتائیں ہم کرنا چاہتے ہیں ہے.
>> دوسرے الفاظ میں، حقیقت یہ ہے کہ سوئفٹ سختی ٹائپ کیا جاتا ہے کہ
آپ کو ایک ایسا کرنے کا مطلب ہے اضافی کام کا تھوڑا سا
یہ کام حاصل کرنے کے لئے آپ چاہتے ہیں کہ جس طرح.
لیکن اس کے نتیجے کے طور پر، یہ محفوظ ہے.
اور ایک بار جب آپ لے ان اقسام کے اکاؤنٹ میں،
چیزیں صرف بے تکلفی شروع بہت اچھی طرح سے کام کرنے کے لئے.
>> اس صورت میں، اس کے بعد ہم کریں گے تو سٹرنگ concatenation انجام
واضح طور پر ڈال کر ایک تار پر عددی
اس میں یہ ریپنگ کی طرف سے دارالحکومت سٹرنگ تقریب،
اور پھر سٹرنگ concatenation استعمال آپریٹر، ہماری لیبل متغیر پر نظر ثانی کرنے
اور پھر اسے باہر پرنٹ.
>> اب تک، اتنا اچھا؟
ٹھیک ہے، پر منتقل.
>> اب اعداد و شمار کی ایک قسم ہیں ہم سوئفٹ میں استعمال کر سکتے ہیں کی اقسام.
آپ کے عادی ہو گئے ہیں، ہم نے ایک تبدیلی صف تشکیل دے سکتے ہیں.
اور اس صف صرف کر سکتے ہیں ایک قسم پر مشتمل ہے.
>> تو اس صورت میں، ہم بنانے کے لئے جا رہے ہیں integers کے ایک تبدیلی arrays، جس
ہم گریڈ سے ملاقات کریں گے، اور ہم قابل ہو جائے گا اس مربع بریکٹ میں ذخیرہ کرنے کے لئے
آپ کے طور پر شکل عادی بڑے ہو گئے ہو دیگر زبانوں کی ایک قسم میں.
لیکن ہم ہیں کہ یہاں نوٹس چیزوں کے ایک جوڑے کی وضاحت.
گریڈ ایک تبدیلی متغیر ہے ہم لشکر طیبہ کے مطلوبہ الفاظ کا استعمال نہیں.
کا مطلب ہے کہ تو پھر ہم پر نظر ثانی کر سکتے ہیں اس صف کے مواد.
یہ قسم int کے سرنی ہے اور ہم اس کو بتا سکتا ہے
یہاں ان مربع بریکٹ کی بنیاد پر.
>> اچھی چیزیں میں سے اب ایک اس کے بارے میں ہے کہ ہم ہے
کی ایک بہت تک رسائی حاصل ہے اضافی معلومات
صف کے بارے میں صرف استعمال کر رہے ہیں کچھ آسان ڈاٹ سنکیتن.
لہذا مثال کے طور، grades.count ہمارے لئے فراہم کرتا ہے
کہ میں موجود ہے کہ اشیاء کی تعداد اس کے بعد ہم بہت تک رسائی حاصل کر سکتے ہیں جس سرنی،
آسانی سے صرف اس ڈاٹ سنکیتن کا استعمال کرتے ہوئے.
>> آپ کو اضافی شامل کرنا چاہتے ہیں اس صف کے لئے اشیاء،
آپ پی ایچ پی انداز نہیں کر سکتے ہیں جہاں آپ کو صرف واضح طور پر کی وضاحت،
دیا انڈیکس میں کسی، کچھ قدر آپ داخل کرنا چاہتے ہیں.
اس کے بجائے، ملائیں استعمال صف کی قسم میں طریقہ کار
اس فہرست میں، اس شے، 95 شامل کرنے کے لئے.
>> تو اب اس صف مندرجہ ذیل ہے 100، 0، 90، 85 contents--.
اور اب ہم منسلک ہے کہ 95 کے ساتھ ساتھ.
>> دوسرے طریقے ہیں ہم چیزوں کو شامل کر سکتے ہیں.
آپ اصل میں استعمال کر سکتے ہیں ایک summation آپریٹر،
جس کے طور پر تشریح کی جائے گی ایک سرنی ملائیں آپریشن.
اور اگر تم اس کے بعد ایک شامل کر سکتے ہیں جن کے مواد 70 اور 80 ہیں سرنی،،
اس صف کے لئے.
تو اب ہم ہے اس متغیر میں مواد
100، 0، 90، 85، 95، 70، اور 80 grades--.
یہ صرف ایک اچھا تھوڑا سا نحوی ہے سوئفٹ ہمارے لئے فراہم کرتا ہے چینی.
>> ہم خلاصہ کرنا چاہتے ہیں تو گریڈ، ہم شاید ہو
iterate کرنا چاہتے ہیں جا اس لوپ میں ہر شے سے زیادہ.
اور ہم سوئفٹ میں، تصور، ہے ایک لوپ کے لئے آپ توقع کریں گے کے طور پر.
لیکن ہم اس بات کی نشاندہی ہے کہ جس طرح ایک رینج تھوڑا سا مختلف ہے.
اس صورت میں، کے لئے تو سب کچھ خلاصہ، ہم کریں گے
ایک عارضی پیدا کرنے والا ہمارے لئے ترتیب میں متغیر کہتے رقم
اس شمار کو برقرار رکھنے کے.
>> اور ہمارے لئے نوٹس یہاں لوپ کی تعمیر.
0 انڈیکس کے لئے .. <grade.count.
لہذا اس کی تعمیر، 0 .. <grades.count ہم کہاں ہیں ایک رینج آپریشن ہے
ہم پیدا کرنے کے لئے جا رہے ہیں کہہ رہے ہیں کہ 0 سے integers کے ایک رینج
لیکن grades.count چھوڑ.
تو یہ ہو جائے گا 0، 1، 2، 3، 4، 5، اپ تاہم بہت سے پہلے تک احمد
grades.count پہلے.
>> تو یہ کس طرح سے مختلف ہے ہم loops کے لئے عام طور پر استعمال کرے گا
آپ کو کچھ انڈیکس ہوگا جہاں متغیر،، سب سے پہلے میں 0 کے برابر یہ مقرر
اور پھر کچھ یہاں تک کہ ضم اشیاء کی تعداد کے مقابلے میں کم قیمت
اس صف میں.
>> تو ایک ترمیم ہے اس سے، اصل میں،
جس نے ہمیں بہت آسانی سے کی اجازت دیتا ہے حدود کی مختلف اقسام مقرر.
آپ کو اس رینج میں تبدیل کرتے ہیں تو تین نقطوں، 0 ... grade.count،
اس کی حد کی نمائندگی کرتا ہے 0 پر مشتمل ہے grades.count کرنے،
اس تعداد بھی ہے کہ اس کا مطلب پھر اس کی حد میں شامل.
>> لیکن یہ بہت آسان ہے یہ عین مطابق چیزوں کے لئے،
ہم انجام دینے کے لئے ہے جب لوپ کے دوران تکرار
ان کے اشاریہ جات صفر حساب سے ترتیب کر رہے ہیں کیونکہ، ہم دیگر زبانوں میں دیکھا ہے کے طور پر
اس کے ساتھ ساتھ.
لوپ کے لئے اس پر کوئی سوال؟
>> تو انترنہیت تعریف ہے اس انڈیکس متغیر کی،
جس کی قیمت 0 سے شروع ہوتی ہے، اور ہر لوپ تکرار سے جاری
ایک نقطہ تک 1 کی طرف سے اضافہ کہ، grades.count کے برابر ہے
جس نقطہ پر، لوپ aborts.
>> ہمارے سٹرنگ میں نوٹس یہاں پرکشیپ،
ہم اصل میں کچھ آسان انجام دے سکتے ہیں ان اقدار سے پھیری.
تاکہ انڈیکس پلس 1 اصل گے اس قدر کی ایک summation انجام
انڈیکس ہے کیونکہ، میں اس صورت میں، ایک عدد صحیح.
اور اس نقطہ پر، یہ پھر ایک سٹرنگ میں تبدیل کیا جا
اور، یہاں اس سٹرنگ میں کے interpolated ہم توقع کریں گے کے طور پر اور باہر طباعت. .
>> اور اچھی بات یہ ہے arrays کے بارے میں یہاں ہے
ہم بھی کرنے کے قابل ہیں بازیافت اقدار اور ترتیب اقدار
مربع بریکٹ سنکیتن کے طور پر استعمال ہم اس کے ساتھ ساتھ دیگر زبانوں میں دیکھا ہے.
>> ٹھیک ہے، یہاں سے، اب ہم تو ہمارے گریڈ کی سب سے ہماری رقم گنتی.
اب ترتیب کی اگلی منطقی قدم ہو گا
تلاش کرنے کے لئے ایک ڈویژن آپریشن کرنا ان درجات کی اوسط سے باہر.
لیکن کچھ اہم یہاں کیا ہو رہا ہے جس میں
اس رقم شاید ایک عددی ہے.
لیکن ہم نے کچھ انجام دینے کی ضرورت ڈبل تقسیم کی طرح.
یہ ہونے جا رہا ہے جب انتہائی اہم
ہم اس آپریشن کو انجام دینے کے لئے چاہتے ہیں، ہم کہہ رہے ہیں کی وجہ سے
ہم اصل میں کرنے کی ضرورت ہے دو ڈبلز پر تقسیم انجام.
اور پھر، کیونکہ سوئفٹ بہت سختی سے ٹائپ کیا جاتا،
ہم واضح طور پر تمام قائم کرنا ضروری ہے ڈبلز کے لئے اشیاء ہم اصل میں پہلے
کہ آپریشن کو انجام.
>> آرڈر میں ہمارے لئے کے لئے اتنا ڈبل ڈویژن انجام،
یہ صرف ایک کے لئے کافی نہیں ہے ان اشیاء میں سے ایک ڈبل ہونا.
ان دونوں کو ہونا پڑے گا سوئفٹ کے لئے ترتیب میں ڈبل
یہ اس بات کا یقین کرنا ہم کیا کرنا چاہتے ہے.
تو تو ہم واضح طور پر Typecast کی گی ہم نے مندرجہ بالا حساب ہے جس میں رقم
اور ڈبلز گریڈ کی تعداد، اور پھر اس آپریشن اور دکان انجام
کہ اس نئے متغیر میں، یا بلکہ اوسط اس نئی ملاقات کی مسلسل،
کس قسم، آپ تصور جس پڑے گا؟
ڈبل، جی ہاں.
تو اس صورت میں، ہم اس کی وضاحت کرنے کی ضرورت نہیں
اس سے inferred کیا جا سکتا ہے ڈیٹا اوسط کے آپریشن قسم
ہو جائے گا.
اور تیز عام طور پر بہت اچھا ہے کے بارے میں اقسام نتیجہ نکالنا کرنے کے قابل ہونے.
>> آپ کو اس کو دیکھنے کے لئے چاہتے ہیں چلانے کے، یا میں پر منتقل کر سکتے ہیں؟
میں جا رہا رکھنے کے لئے چاہتے ہیں.
اس کا کسی پر کوئی سوال؟
عظیم.
>> اب ہم حاصل کرنے کے لئے شروع کرنے کے لئے جا رہے ہیں اچھا stuff-- وضاحت افعال،
اور ہیں کہ دوسری اقسام کے ایک جوڑے سوئفٹ کے لئے منفرد آپ نہیں ہے کہ
دیگر زبانوں میں دیکھا اس نقطہ تک،
لیکن وہ دیگر میں موجود ہیں آپ کو بعد میں ہو سکتا ہے کہ زبانوں.
تو سب سے پہلے آپ چاہتے ہیں تو ایک تقریب کی وضاحت کرنے،
آپ کو Funky لفظ کے ساتھ اس کی وضاحت تقریب، اور پھر تقریب کے نام،
اور پھر قوسین میں، دلائل کہ تم نے اس تقریب کو قبول کرنا چاہتے.
دلائل بلضرور وضاحت ہے generally--
بھی اعداد و شمار کی قسم کی وضاحت کرنا ضروری ہے کہ وہ inferred کر سکتے ہیں جب تک کہ وہ، ہیں.
اور ہم اس چھوٹے کو دیکھ لیں گے صرف ایک چھوٹا سا تھوڑا سا میں انتباہ.
>> تو اس صورت میں ہم ایک ہیں تقریب printGradeCount بلایا.
ہم کو قبول کرنے جا رہے ہیں متغیر یا بلکہ اس معاملے میں،
ایک constant-- gradebook بلایا.
اور اس کے ہونے جا رہا ہے integers کے صف کی قسم.
اب وہاں کچھ ہے کہ یہاں بہت ضروری ہے
کہ میں آپ کو سمجھنے کے لئے چاہتے ہیں.
کہ ڈیفالٹ کی طرف سے، ان دلائل ہے اس تقریب میں آدانوں ہیں کہ
ایک انترنہیت طیبہ مطلوبہ الفاظ کے ساتھ بیان کیا، جس میں اس پر نظر ثانی نہیں کر سکتے ہیں کا مطلب ہے کہ
یہاں gradebook متغیر.
اور اس طرح کا، سمجھ میں آتا ہے آپ کے اعداد و شمار کی وجہ سے گزر رہے ہیں.
اور آپ کو شاید یہ نہیں کرنا چاہتے آپ کے تحت کی طرف سے تبدیل کیا جائے گا.
یہ واضح طور پر ذکر کرنا ممکن ہے یہ ایک متغیر ڈال کی طرف سے ہے
یہاں متغیر مطلوبہ الفاظ.
لیکن ہے کہ ہم ہے کہ ایک پکڑ لیا ہے محسوس کیا لوگوں کو ماضی میں کیا ہے
وہ یہ جا رہا ہے کہ فرض کیا گیا ہے ایک متغیر ہو کرنے کے لئے جب، حقیقت میں، یہ
ایک مسلسل جاری ہے.
>> ٹھیک ہے، تو پھر یہاں، اس معاملے میں، ہم کسی بھی واپسی کی قسم کی وضاحت نہیں کر رہے ہیں.
ہم کس طرح ایسا کرنے کے لئے آپ کو دکھائے گا صرف ایک لمحے میں اس.
لیکن ہم یہاں ہے کہ محسوس کریں حالت تو صرف ایک سادہ.
gradebook ہے خالی اس معاملے میں جو
اس عددی کے صرف ملکیت ہے صف، پھر ہم کچھ باہر پرنٹ.
دوسری صورت میں ہم کچھ اور کرتے ہیں.
>> خوبصورت براہ راست اب تک مجھے لگتا ہے.
آپ کا کوئی سوال ہے تو مجھے روک.
>> اب یہ تقریب، اوسط، بھی لیتا ہے کچھ دلائل، یا بلکہ ایک دلیل،
gradebook، اور اس وقت ہے جس میں ایک ڈبل قسم واپس جا رہا ہے.
یہ کمپیوٹنگ ہے کیونکہ اوسط اور یہ
اصل میں اس پر واپس جا رہا کالنگ لائن پر حساب اوسط.
>> اس صورت میں، ہم نے وضاحت ایک تیر کے بعد قسم واپس.
یہ محسوس ہو سکتا ہے سب سے پہلے میں عجیب قسم.
آپ عادی بڑے ہو گئے ہو واپسی قائم کرنے کے لئے
تقریب کے نام سے پہلے ٹائپ کریں.
لیکن آپ کو اس کے بارے میں سوچنا تو ریاضی کے لحاظ سے،
طرح آپ کو ریاضی ہے جب کہ ایک تقریب کی وضاحت،
آپ کو کچھ کے ساتھ ایک تقریب ہے آدانوں، اور یہ ایک پیداوار پیدا.
اور یہ کہ بالکل وہی جو ہے اس کی نقل کرنے کی توقع کی جاتی ہے.
اور دیگر زبانوں میں سے ایک جوڑے کی ہے کہ، کے ساتھ ساتھ اسی طرح نحو ہے
لیکن شاید کوئی بھی اس آپ CS50 میں دیکھا ہے.
لیکن پھر بھی اس کی طرف سے الجھن میں نہیں.
تیر رہا ہے کا مطلب ہے کہ اس صورت میں واپس آ جائے گا.
ٹھیک ہے، تو ہم کس طرح جا رہے ہیں یہ اوسط گنتی کرنے کے لئے؟
ٹھیک ہے، اگر gradebook خالی ہے، تو پھر ہم ہیں
جو شاید، 0 واپس جا رہا ایک مناسب طریقے سے اس کا علاج کرنے کے لئے.
میں کی آنے دو، نہیں جانتے اس پر واپس تھوڑا سا میں.
یہ اصل میں نہیں کر سکتے ہیں ایک مناسب طریقہ ہو
اوسطا تو گنتی کرنے ہم ایک خالی gradebook ہے.
>> اس کے بعد ہم صرف ہمارے summation کے انجام دیں گے.
ہم یہاں کہ اصل نوٹس ایک کا ایک متبادل ورژن ہے
ہم iterate کرنے کی اجازت دیتا ہے لوپ، کے لئے ایک صف میں ہر ایک شے سے زائد
اور ہر عنصر کی جگہ اپنے متغیر میں.
میں گریڈ کے لئے وضاحت کی طرف سے gradebook، ہم کیا کہہ رہے ہیں
ہم لپیٹ کرنے کے لئے جا رہے ہیں نامی ایک نیا مسلسل تخلیق
کی نمائندگی کرنے جا رہا ہے کہ گریڈ gradebook میں ہر منفرد شے
ہر وقت ہے کہ لوپ کے لئے iterates ہے.
پہلی بار تو اس اسے چلانے کے، گریڈ کریں گے
gradebook میں پہلی شے ہو.
دوسری بار یہ ہو جائے گا دوسری شے، تو اور تو آگے
gradebook ہے جب تک عناصر کی خود ختم ہو.
پھر ہم نے اس کا خلاصہ کرنے کے قابل ہو جائے گا ہمارے summation متغیر میں گریڈ
اور ہمارے اوسط واپس کے طور پر ہم نے پہلے دیکھا ہے.
ٹھیک ہے، کوئی سوال؟
جی ہاں؟
سامعین: میں نے دو سوالات ہیں.
نمبر ایک، hypothetically، کر سکتے ہیں آپ کو اس سے ایک پر عددی چلانے کے؟
ایک ہونے کی ضرورت نہیں ہے ڈبل، کیا یہ صحیح ہے؟
DAN AMRMENDARIZ: کر سکتے ہیں آپ اس سوال کا دوبارہ؟
سامعین: میں کیا کر سکتا اوسط طور پر عددی؟
DAN AMRMENDARIZ: کر سکتے ہیں آپ اوسط طور پر عددی ہے؟
تو ایک عددی واپس اس کی بجائے ایک ڈبل کی اوسط؟
>> سامعین: آپ واپس لوٹنے اس کا حق اب ذیل ہے.
DAN AMRMENDARIZ: یہیں، 0.0 واپس؟
سامعین: جی ہاں، صرف 0 واپس.
تو یہ تو ہو جائے گا 80 یا 85، لیکن 85.2.
>> DAN AMRMENDARIZ: اس صورت میں تو، تو ایک جوڑے کو مختلف طریقوں سے
اس کا جواب کرنے کے لئے.
مجھے ترتیب میں ان کا جواب دو.
میں صرف اس کی واپسی بنانے کے تو 0، 0 ایک عددی قدر ہے.
اور تو ہے کہ ایک سبب بن جائے گا اس کیس کے لئے قسم کی خرابی
یہ ایک ڈبل کی توقع ہے کیونکہ لیکن اس کے بعد ایک عددی واپس آ رہا ہے.
میں ایک عددی واپس کرنا چاہتے ہیں، میں کر سکتا ہوں.
میں واپسی کی قسم مقرر کر سکتے ہیں ، int کی یہاں 0 واپس،
اور ڈبل تقسیم کارکردگی کا مظاہرہ نہیں.
لیکن اس وقت ہم ہو جائے گا عددی تقسیم کر.
اور تو تو ہم نہیں ملے گا ہم ممکنہ طور پر توقع کریں گے کہ اوسط.
لیکن ہاں ہم پر نظر ثانی کر سکتے ہیں اس طرح میں اقسام.
>> سامعین: اور دوسری بات، آپ سب سے اوپر پر ایک ڈبل ہے.
لیکن نیچے، جب آپ ڈبل ڈبل واپس کرتے ہیں،
خود کار طریقے سے پہلے سے ہی ہے ڈبل شکل آرہے ہیں.
تم ابھی تک اس کی وضاحت کرنے کی ضرورت ہے ایک ڈبل کے ساتھ سب سے اوپر پر تیر کے ساتھ؟
>> DAN AMRMENDARIZ تو صورت میں، اس کا حصہ ہے
کے the-- تو، سوال دہرانے کی اس کے بدلے سے انترنہیت ہے کیونکہ
یہاں اقسام، کس قسم کی یہ اصل میں ہے، ہم سوئفٹ کے ساتھ واضح کرنے کی ضرورت ہے
ہم کیا چاہتے ہیں کے بارے میں اس تقریب کے باہر واپس
یہ ٹائپ انجام دیتا ہے تاکہ جب جانچ پڑتال، اس بات کو یقینی بنا سکتے ہیں
ہم اصل میں لکھا ہے کہ نیچے اصل میں اس کے مطابق.
تو یہ ایک چیک کی طرح طرح کی ہے صورت حال کا خود کے ساتھ ترتیب دیں.
لیکن وہاں are--
>> سامعین: [اشراوی] تیر؟
>> DAN AMRMENDARIZ: مقدمات جب وہاں ہیں ہم لپیٹ کر سکتے ہیں وضاحت کر سکتے ہیں
واپسی کی قسم مقرر کیا گیا.
لیکن اس معاملے میں، میں ایسا نہیں کرتے کہ کام کریں گے لگتا.
کچھ دوسرے نحو ہے ہم بعد میں دیکھیں گے کہ.
>> ٹھیک ہے، تو اس کے ذریعہ کوڈ تھوڑا سا مختلف ہے
اس سے دلائل کے parses کیونکہ ہم بلا رہے ہیں اس تقریب.
یہ کیسے کام کرتا مجھے تم سے ظاہر ہم اصل میں پر منتقل کرنے سے پہلے
کچھ دلچسپ چیزوں کو کہ سوئفٹ میں کیا ہو رہا.
>> تو اس صورت میں، اگر میں صرف اس کو چلانے کے یہ کیا کر رہا ہے کوڈ، کہ محسوس
is-- جبکہ، اس قسم کی مجھے ایک عجیب خرابی دیتا ہے.
میں نے اس کے ایک جوڑے کو منتقل کرنے کی ضرورت ہے ایک کمانڈ لائن کی دلیل کے طور پر integers کے.
تو، 150 اور 80 دیکھتے ہیں، اور درج کریں مارا یہ اصل میں کیا کر رہی ہے باہر تلاش کرنے کے لئے.
اس کے ہر قبول ہے integers کے طور پر ان اقدار.
یہ ایک gradebook میں inputting کی ہے.
اور پھر یہ کارکردگی کا مظاہرہ کر رہا ہے اوسط حساب
اور ہم توقع کریں گے کے طور پر اس لکھنا.
>> لیکن ظاہر ہے کچھ جا رہا ہے اس کو مسترد کرنے سے کچھ کے ساتھ پر
ایک عددی کے طور پر کچھ.
آپ کو ہم تھے جب سے یاد کر سکتے ہیں کے طور پر کمانڈ لائن کے دلائل کے ساتھ نمٹنے
بہت پہلے سی اور دیگر زبانوں میں کہ کمانڈ لائن کی دلیل میں 0 ویں شے
فہرست کمانڈ کا نام ہے ہم اصل میں پھانسی دے دی ہے.
تو اس صورت میں، میں نے صرف looping کے ہوں تمام کمانڈ لائن کے دلائل زیادہ.
لیکن میں پسند کی کسی بھی قسم نہیں کر رہا ہوں سب سے پہلے ایک سے زیادہ کو چھوڑ کے لئے چیک کریں.
میں نے صرف واضح طور پر ہوں یا میں لپیٹ ہوں ان اقسام میں سے جس کی جانچ پڑتال
integers کے اصل میں سامنے ہیں اس حساب کارکردگی کا مظاہرہ.
>> اور یہ کہ بنیادی طور پر ہے یہاں کیا ہو رہا ہے.
ہر دلیل میں عمل کے دلائل،
میں نے کچھ چیک انجام دینے کے لئے جا رہا ہوں.
اور اس معاملے میں، میں جا رہا ہوں پہلے تبدیل کرنے کی کوشش کرنے کے لئے
ایک عددی میں دلیل ہے کہ کی طرف سے ایک واضح Typecast کی کارکردگی کا مظاہرہ،
یہ ان پٹ پر، ایک تار ہے کیونکہ اور نہیں ایک عددی حقیقت میں.
>> لیکن یہ ایک عجیب نحو کی طرح ہے، دو گریڈ سیریز: Int (دلیل) برابر ہے.
اصل میں کیا ہو رہا ہے یہاں بہت ہے
آپ استعمال کر رہے ہیں سوئفٹ کے لئے ضروری.
یہ کیا ہے استعمال کر رہا ہے ایک اختیاری قسم بلایا.
>> تو اس تقریب، سیریز: Int (دلیل)، نہ صرف ایک عدد صحیح، لیکن واپسی
کیا ایک اختیاری عددی کہا جاتا ہے.
اور اس طرح اس طرح کی ہے ایک قسم کی سب سے اوپر پر ایک قسم.
آپ کی طرح کی طرح یہ تصور کر سکتے ہیں یہ ایک پیکج کی طرح واپس آ گیا ہے.
اور تم اس کھولنے جب پیکج، یہ یا تو
نتیجہ ہے جس میں ایک عدد صحیح، ہے، یا یہ بالکل اس میں بالکل کچھ بھی نہیں ہے.
اور یہ ایک غلطی کی چیکنگ کے طور پر مفید ہے طریقہ کار، کیونکہ اس معاملے میں
ہم باہر تلاش کر سکتے ہیں، یہ تھا قسم تبادلوں کامیاب؟
یہ تھا، تو یہ حقیقت میں ہے اندر ایک عددی کے لئے جا.
ورنہ یہ کچھ ہے کرنے کے لئے جا رہا ہے ہم، صفر فون کروں گا اس قدر جس
بالکل کوئی عددی کی نمائندہ ہے.
یہ واقعی میں کچھ بھی نہیں کے نمائندے ہے.
>> اور اس طرح یہ تو تعمیر ہمیں اس پیکج unwrap کرنے کی اجازت دیتا ہے،
پابند کہ اختیاری.
اور ہم اس unwrap کرنے کے قابل ہیں تو پیکج کے اندر ایک عددی جائے،
پھر کیا ہم کہہ رہے ہیں یہاں اس کے بعد ہم کریں گے ہے
اس قدر میں قائم کرنے کی اجازت گریڈ نامی اس مسلسل.
اور اگر بیان کے اس حصے، اگر بیان کی سب سے اوپر حصہ
، چلانے کی وجہ سے کرے گا تحائف کھول کامیاب تھا.
>> یہ صرف اس لئے اگر ایسا ہوتا ہے ایک غلطی شاید وہاں تھا
اس واضح قسم تبادلوں میں شاید، ایک عددی ایک تار سے
مثال کے طور پر قیمت ABC ہے.
اور یہ کہ اصل میں نہیں جا رہا ہے ایک عددی میں تبدیل کرنے.
اس کے بعد یہ، صفر واپس آ جائیں گے جس میں ایک عدد صحیح نہیں ہے.
اور اگر یہ بیان تو پھر ناکام.
کیونکہ موجود نہیں رہے گی گریڈ یہ کوئی عددی مواد ہے.
اور اس کی بجائے اس کے علاوہ بلاک چلایا جائے گا.
جی ہاں؟
>> سامعین: صفر ن میں L ہے؟
DAN AMRMENDARIZ: صفر ہاں، ن میں L ہے.
>> تو یہ ہو سکتا ہے میں سے ایک ہے سوئفٹ کے بارے میں سب سے مشکل چیزوں،
آپ میں ہیں خاص طور پر جب ایک iOS اپلی کیشن پر ماتمی لباس
اور آپ اصل میں کوشش کر رہے ہیں وہاں کچھ ترقی کرنا.
یہ چللا کیا جا رہا ہے کے بارے میں اختیاری تم پر.
اس کے لئے تم سے پوچھ رہا کیا جا رہا ہے سوال نمبر اور فجائیہ پوائنٹس.
لیکن اگر آپ کو آپ out-- اعداد و شمار ایک بار باہر figuring کرنے کے لئے کچھ وقت وقف
کیا، اختیاری اقسام کے ساتھ چل رہا ہے تم اپنے آپ کو سر درد کی ایک بہت بچا لے گا
آپ کو کوشش کر رہے ہیں کے طور پر سوئفٹ میں ایک اپلی کیشن لکھیں.
>> یہ اصل میں ایک بہت ہی طاقتور خصوصیت ہے.
اور آپ کو صرف کرنا پڑے گا اب کے لئے اس کے لئے میری بات.
لیکن ہم اس کی تعمیر کو دیکھ لیں گے اور کچھ دوسروں کو یہ پسند ہے
دوسرے ماخذ کوڈ میں سے کچھ میں کہ ہم صرف تھوڑا سا میں تمہیں دکھاتا ہوں.
>> کسی بھی ابتدائی سوالات یہاں ہیں؟
اتنی اہم takeaway ہے ایک ہے اختیاری قسم metatype کی طرح ہے.
یہ یا تو، ایک قیمت ہے اور اس کے بعد، ہے تو
شاید اس قدر منسلک پڑے گا اس کے ساتھ، یا یہ کوئی اہمیت کی حامل ہے،
اور یہ Nil کی طرف سے نمائندگی کر رہا ہے.
اس کے باقی شاید ہے آپ توقع کریں گے کے طور پر.
>> تو ریمپ دو مشکل ایک بار پھر.
اور اس وقت، کچھ میں ایک نظر ڈالیں اصل میں موجود ہے کہ دیگر ڈیٹا کی اقسام.
ان میں سے ایک ہے جس میں، لغات ہے ازگر لغات پر بہت ملتا جلتا.
یہ ایک ہیش ٹیبل میں سے کسی حد تک اسی طرح کی ہے C. یہ بنیادی طور پر کی چابیاں کی ایک میپنگ ہے
جہاں چابیاں ڈور ہو سکتا ہے.
اور آپ کو ان کی چابیاں اوپر دیکھو جب، ان چابیوں کو ایک قیمت ہو جائے گا.
تو یہ، بالکل ایک سرنی نہیں ہے لیکن بجائے، زیادہ باریک بینی سے منسلک
ایک ہیش نقشہ یا ایک ہیش کی میز پر.
>> یہ سمجھا جاتا ہے کہ کس طرح دیکھتے ہیں اصل میں ہم سے پہلے کام کرنے کے لئے
ماخذ کوڈ خود میں جانا.
میں نے صرف اس چلاتے ہیں تو، کچھ بھی نہیں واقعی ہوتا ہے.
میں امید کر رہا ہوں کہ یہ مجھ سے کہہ رہا ہے مندرجہ ذیل کی قسم کے کچھ پیرامیٹرز.
تو میں فراہم کرنے کے لئے جا رہا ہوں یہ کچھ مسئلہ سیٹ کے ناموں،
تو pset0، شاید میں 100 ہے.
اور pset1 کے، میں نے ایک 5 ہے.
اور پھر امتحان پر، میں واقعی میں بہت اچھا کیا اور 30 ​​ہے.
اور افوہ، میں یہاں ایک جگہ مارا.
>> میں درج کریں مارا جب، آپ دیکھ سکتے ہیں یہ کچھ حساب انجام دیتا ہے.
یہ gradebook تین ہے گریڈ، pset1 کے، pset0، امتحان.
اور gradebook ہے اس مخصوص اوسط.
تو ایک بار پھر، ہم کام کر رہے ہیں اس gradebook خیال کے ساتھ،
لیکن ہم سب iterating جاری رکھنے کے لئے جا رہے ہیں ہمارے تقریب کی پیچیدگی کے ساتھ.
>> آغاز میں تو، ہم صرف ہو ایک تقریب بنانے کے لئے جا کہ
استعمال پرنٹنگ کے لئے ذمہ دار ہے.
یہ وہاں سے نکلنے کی ہے جس میں تقریب صرف
زبردستی درخواست چھوڑ.
یہ کچھ نہیں ہے آپ iOS اپلی کیشن میں استعمال کریں گے.
یہ، اس معاملے میں، صرف ہے ایک کمانڈ لائن کی دلیل کے ساتھ.
پیچھے اگلا، دوسرا ہم Xcode کے جانب بڑھ شروع کر دیں گے.
لیکن یہ ایک کمانڈ کے لئے مخصوص ہے سوئفٹ میں لائن سٹائل پروگرام.
>> کی میں سے کچھ پر ایک نظر ڈالیں یہاں دلچسپ چیزیں.
کی صرف ایک جوڑے، دیکھتے ہیں دلچسپ چیزیں شاید ذکر کرنا
کہ میری تقریب میں ہے گریڈ کے نمبر پرنٹنگ،
میں اس فہرست تھا کہ یاد کر سکتے ہیں items-- pset1 کے، pset0، اور امتحان کی.
تم واقعی میں فوری طور پر کر سکتے ہیں اور آسانی سے ایسا
ایک ہے جو gradebook، لے کر چابیاں اور اقدار ہے جس ڈکشنری آن لائن.
کلید کے تمام کے ذریعے تلاش کریں یہاں ڈاٹ چابیاں طریقہ،
اور پھر، اس joinWithSeparator استعمال پھر چابیاں کے تمام لے جائے گا جس
ہم میں ٹائپ تھا کہ، pset1-- یا معذرت، pset0، pset1 کے، اور exam--
اور ان کے ساتھ سلسلہ بندی کرنا ایک کوما اور ایک جگہ کا استعمال کرتے ہوئے
ایک لمبی سٹرنگ تخلیق کرنے کے لئے.
اس میں شامل آپریشن صرف زبردست ہے سیاق و سباق کی ایک قسم میں مفید.
اور اس طرح اس joinWithSeparator ہے.
>> یہ ہے کہ ایک بات ہے سوئفٹ 1 سے سوئفٹ 2 میں تبدیل کر دیا.
ایک کے لئے استعمال کیا ازگر style-- آپ ہیں تو
Python-- ایک ازگر کے ساتھ واقف سٹائل ڈور پر طریقہ میں شامل.
لیکن یہ کوئی رہ گیا ہے سوئفٹ 2 میں کیس.
اگر آپ چاہتے ہیں تو اس کا استعمال کرنا چاہتے ہیں سامان کی ایک سرنی سلسلہ بندی کرنا
ایک سٹرنگ کے ساتھ.
>> تو شاید اس کے بعد میں اپنے پہلے اوسط کی بحث،
یہ تھوڑا سا زیادہ سمجھ میں آتا ہے ہمارے اوسط تقریب قائم کرنے کے لئے
بلکہ ایک اختیاری ڈبل بننا صرف ایک واضح ڈبل سے زیادہ.
ہم اس تھا کیونکہ غیر معمولی حالت جہاں،
کیا gradebook اصل تو اس کے اندر کوئی قدر نہ ہو؟
کیا اوسط واپس آ جانا چاہئے؟
>> ویسے شاید C میں آپ کچھ کیا ہوتا
کی طرح، ایک پرہری کی قیمت فراہم کی طرح 0.0، یا شاید ایک منفی نمبر،
یا کچھ اور صرف حقیقت کی نمائندگی کچھ غلطی شرط تھا کہ
اور آپ کو شاید اصل میں نہیں ہے اوسط کی گنتی کرنے کی صلاحیت.
اچھی طرح سے ایک وضاحت کی خوبصورتی اختیاری قسم ایسا کرنے کے لئے ہو جائے گا.
اور اب یہ سب باتیں کہہ رہا ہوں، لیکن یہ اصل میں optionals کا استعمال نہیں کرتا.
لیکن ہم صرف میں دیکھ لیں گے ہم اوسط مقرر کر سکتے ہیں جہاں منٹ
تاکہ ایک اختیاری ڈیٹا کی قسم ہونا یہ اصل میں تو کچھ اعداد و شمار، واپس تو
ہم اس ڈیٹا واپس آ جائیں گے.
دوسری صورت میں ہم واپس آ جائیں گے صفر، اس کا کہنا ہے کہ
کوئی بامعنی حساب ہے.
>> کچھ اور پر منتقل.
یہاں سے تو، ہم تلاش کر رہے ہیں کمانڈ لائن میں ان تمام مثالوں.
لیکن واقعی آپ جا رہے ہیں کیا کے ساتھ نمٹنے جا Xcode ہے ہے.
اور کے بارے میں اچھی چیزیں میں سے ایک Xcode ہے ہے، اور خاص طور پر سوئفٹ میں،
ہم اس ہے بات ایک کھیل کے میدان سے ملاقات کی.
اور ایک کھیل کا میدان ہے نہیں ایک iOS اپلی کیشن میں.
لیکن یہ آپ کا تجربہ کرنے کی اجازت دیتا ہے ایک بہت آسان طریقہ میں سوئفٹ کے ساتھ.
آپ اپنے کوڈ کے تمام قسم کے کر سکتے ہیں.
یہ اچھی طرح سے یہاں پر روشنی ڈالی نحو ہے.
آپ کو ایک نئی فائل بنانے کے، تو یہ پوچھیں گے آپ کو ایک کھیل کے میدان بنانے کے لئے چاہتے ہیں تو.
لیکن کھیل کے میدان کے بارے میں اچھی بات یہ ہے کہ، آپ کی ونڈو کے حق پر ہے
یہ اصل میں آپ کو ظاہر کرتا ہے آپ کے کوڈ کی طرف سے پیداوار.
میں ذیل میں سکرال تو، ہم دیکھ سکتے ہیں کوڈ کے مختلف لائنوں کی پیداوار
اصل میں ہونا ہوتا ہے.
>> تو اس صورت میں، ہم جا رہے ہیں ہدایات صرف تھوڑا سا تبدیل
اور واقعی ہے کہ کچھ کے بارے میں بات اس اعلی سطح کے راستے پر اہم
سوئفٹ، یہ اور چلتی ہے بندش کے اس کا خیال ہے.
اور آپ شاید اس کو دیکھا ہے جاوا سکرپٹ میں ایک تھوڑا سا.
تم میں سے ان لوگوں کے لئے CS50 میں ہیں، بندش
کرنے کے بہت مقبول، بہت اچھا طریقہ ہے جدید زبانوں میں اعلی سطح چیزیں.
لیکن یہ بھی قسم کے مشکل ہے پہلی بار کے ارد گرد اپنے سر لپیٹ.
آپ کو اس میں تلاش کر رہے ہیں تو پہلی بار، یہ ٹھیک ہے.
بس منبع کوڈ پر نظر ڈالیں اور دیکھیں آپ کے گھر میں یہ پتہ کر سکتے ہیں.
>> تو اس صورت میں، کا کہنا ہے کہ دو ہم exponents میں سے ایک بہت بنانے کے لئے چاہتے ہیں
کچھ مقررہ قیمت کے ساتھ.
تو اس صورت میں اگر میں ایک تقریب تشکیل دے سکتے ہیں.
میں طاقت اسے فون کرنے جا رہا ہوں زندگی میں 2 جن کا واحد مقصد
کچھ ان پٹ اور ڈبل لینے کے لئے ہے یہ، اور اس قدر واپس.
میں حاضر ہوں کہ نوٹس اعداد و شمار کی ایک قسم کو قبول کرنے.
یہ X نامی ایک متغیر ہونے جا رہا ہے.
اس قسم ڈبل کے ہے.
اور میں یہاں ایک ڈبل واپس جا رہا ہوں.
اور میں صرف کرنے جا رہا ہوں ایک بہت، بے تکلفی، خوبصورت
اس کی قیمت کو دگنا کرنے بولی راستے سے.
اور میں آپ کو یہ کیوں ظاہر کریں گے صرف ایک سیکنڈ میں مفید ہے.
>> ہم اس کی حد ہے کہ یہاں نوٹس ایک بار پھر. 1 میں کچھ، ڈاٹ لئے
جس کا مطلب ہے ڈاٹ ڈاٹ، 2، اس لوپ میں دو بار چلایا جائے گا.
لیکن یہ ایک ڈمی متغیر کی نمائندگی کرتا ہے.
اس میں واقعی میں نہیں جا رہا ہوں مطلب کہیں کہ متغیر کا استعمال کرتے ہوئے
اس لوپ کے اندر.
میں نے صرف اس لائن کی ضرورت ہے کوڈ کی دو بار کو چلانے کے لئے،
جاننے کی ضرورت کے بغیر اس کی حد کی قیمت.
>> اس معاملے میں میں نتیجہ رہا ہوں تو اوقات جو بنیادی طور پر، دو بار ایکس
میں اس قیمت کو مربعاتی ہوں کا مطلب ہے کہ.
اور اس کے لئے ہوتا ہے ہم توقع کریں گے کے طور پر کام.
2 کی طاقت، کی قیمت گزر 2.0 ہم 4 کی پیداوار فراہم کرتا ہے.
10.24 لئے 3.2 کام.
>> اب ہم اسی طرح کی ایک کر سکتے ہیں 3 میں سے اقتدار کے لئے بات.
لیکن اب صرف رینج تبدیل.
1 میں ڈمی متغیر کے لئے 3 کے ذریعے،، 3 گنا ضرب
اور ایک ہی بات کرتے ہیں.
>> تو یہ تھوڑا contrived محسوس کرتے ہیں ہو سکتا ہے.
لیکن ایک اہم ہے یہاں بات جس
ان کو دیکھ کر ہے دو افعال، ہے
مختلف ہے کہ صرف ایک ہی چیز، جس رینج میں اس کی قیمت ہے.
ان دونوں کے بارے میں سب کچھ افعال، 3 کی طاقت اور 2 کی طاقت،
ہیں، حقیقت میں، ایک جیسی ہے کیونکہ وہ اسی طرح کام کرتے ہیں.
>> اس نقطہ پر، ایک چھوٹا سا تو خطرے کی گھنٹی سے چلنا چاہئے.
امید ہے کہ تم کیا کہہ رہے، آپ کو معلوم ہے، یہ تھوڑا سا محسوس ہوتا ہے
کوشش کی تخلپی طرح.
شاید ایک طریقہ ہے کہ میں کروں گا ہے اس کے تمام encapsulate کی کے قابل ہو جائے
اور ایک تقریب فراہم کرتے ہیں یا ایک تقریب پیدا ہونے والے
بالکل میں بغیر چاہتے ہیں کیا کرتا ہے واضح طور پر اس سے ٹائپ کرنے کی ضرورت.
اور یہ کیا طاقت ہے ایک بندش کے بارے میں ہمیں ایسا کرنے کی اجازت دیتا ہے.
تو اس پر ایک نظر ڈالیں.
اور میں نے ایک جوڑے خرچ کریں گے اس پر منٹ، اس کی وجہ سے
سوئفٹ کے لئے بہت اہم ہے.
اس کوڈ سے ہم وقت دیکھنے.
ہم نے ایک تقریب کی وضاحت کرنے جا رہے ہیں.
یہ powerOf بلایا جا رہا ہے.
یہ ایک قبول کرنے جا رہا ہے پیرامیٹر قسم int Y کہا جاتا ہے.
لیکن واپسی کی قسم پر ایک نظر ڈالیں.
واپسی کی قسم میں، قوسین، ڈبل ڈبل تیر.
اس تقریب کا مطلب ہے کہ، اس تقریب powerOf،
ایک تقریب واپس آ رہا ہے.
یہ ایک ڈبل قبول کیا جاتا ہے اور ایک ڈبل واپس لوٹنے.
تو ہے کہ پاگل کی طرح لگتے ہو سکتا ہے، لیکن تھوڑا سا نیچے سکرال
اور کیا ہوتا ہے کو دیکھنے کے لئے نظر آتے ہیں.
ہم اس تقریب powerOf کے اندر ہو.
ہم ایک نئے تقریب پیدا کر رہے ہیں exponentiator بلایا،
لیکن یہ کیا ہے کوئی فرق نہیں پڑتا.
>> یہ ہے کہ نوٹس X کی ایک ان پٹ قیمت.
اور یہ ایک ڈبل میں لے جا رہا ہے اور ایک ڈبل واپس لوٹنے.
اور یہ وہی کوڈ ہے کہ ہم 2 کی قدر سوائے اس کے کہ، اوپر دیکھا
3 یا قیمت، کہ اس کی حد میں پابند بالائی،
کے ساتھ تبدیل کر دیا گیا ہے Y کی اس کی قیمت، جس
ابتدائی پیرامیٹر تھا ہمارے powerOf تقریب کی.
اور اس وقت، ہم نے exponentiator واپس.
ہم نے تقریب واپس آ رہے ہیں.
>> اس قسم کا ایک چھوٹا سا دماغ اڑانے کی طرح ہے.
لیکن کیا ہوتا ہے تصور کرتے ہیں میں اس تقریب کو فون جب powerOf
اور 2 کی طرح اس میں کچھ قدر منتقل.
کیا اس کا مطلب ہے کہ اب قیمت ہے
اس کی قیمت کا مطلب ہے کہ Y 2، اس exponentiator تقریب میں Y
اس قدر ہو جائے گا 2.
لیکن میں یہ واپس آ رہا ہوں exponentiator تقریب.
>> تو سوئفٹ میں کیا کہتا نوٹس اس صورت میں پیدا کیا ہے.
مربع، یہ ایک تعریف ہے ہے دو ایک ڈبل قبول کرتا ہے کہ ایک تقریب
اور ایک ڈبل واپس.
اگر میں ایک تقریب پیدا کیا ہے چوکوں کہ کچھ
یہیں اس طریقہ کار کا استعمال کرتے ہوئے.
اور واقعی کیا ہو رہا ہے ہے اس تقریب واپس آ رہا ہے کہ
exponentiator، لیکن اس کی قیمت Y اس کے اندر لپیٹا جاتا ہے.
اور اس طرح اب ہر وقت میں اس کا استعمال متغیر یا اس مسلسل کہا جاتا
مربع، یہ جا رہا ہے ایک تقریب کے طور پر برتاؤ.
اور اس میں تو اس متغیر کال کر سکتے ہیں جیسے میں ایک تقریب کو فون کریں گے،
اور اس میں ایک بڑی تعداد کو منتقل، اس کیس میں 3 طرح.
اور پھر میں نے اس کی قیمت مربع گے.
تو 3 اس کے بعد کریں گے مربع ہم یہاں دیکھ سکتے ہیں کے طور پر، 9 بن.
>> واقعی پاگل، لیکن اب یہ مجھے موقع کی اجازت دیتا ہے
دیگر powerOf افعال کو پیدا کرنے.
میں ٹھیک، ویسے اب میں چاہتا ہوں، کا کہنا ہے کہ کر سکتے ہیں کی طرح ایک نیا فنکشن پیدا کرنے کے لئے، powerOf (3)،
اور ایک میں اس ذخیرہ کہا جاتا مسلسل کیوب.
اور اب کیوب ایک ہونے جا رہا ہے کہ اس کے بعد گا علیحدہ تقریب
ان پٹ اور کیوب کے طور پر کچھ قدر لے کہ ہم نیچے کی لکیر میں دیکھ سکتے ہیں کے طور پر قیمت
یہاں.
2 کیوب 8 کے نتیجے میں کی جا رہی ہے.
>> امید ہے کہ خوبصورت بدیا چیزیں.
تم سے پہلے کبھی نہیں دیکھا.
میں بندش میں دیکھنے کے لئے آپ کی حوصلہ افزائی اور تھوڑا سا اس کی تحقیقات.
یہ ہم نے ایک بہت واقعی طاقتور چیزیں دیکھنے کے ہے جاوا اسکرپٹ اور کچھ دیگر زبانوں میں.
یہ کرنے کے لئے بہت اہم ہے کے ساتھ ساتھ کے APIs کو سمجھنے
ہم صرف ایک سیکنڈ میں مل جائے گا کہ.
جی ہاں؟
>> سامعین: جب تم کرتے ہو powerOf (2)، قوسین، اور اس کے بعد
ایک خانے، ایک ان پٹ آپ بنیادی طور پر مربع تبدیل کر رہے ہیں.
DAN AMRMENDARIZ تو نظر آتے ہیں یہاں آخری لائن پر.
یہ اصل میں مکمل طور پر ممکن ہے آپ کی تجویز کے طور پر جکڑا جانا ایسا.
تو powerOf (5) ہم جا رہے ہیں کا مطلب ہے کہ یہاں 5 کی exponentiator حاصل کرنے.
تو یہ بنیادی طور پر ہونے جا رہا ہے پانچویں اقتدار میں 4 طور پر ایک ہی بات،
ہم ایک exponentiating پیدا ہے کیونکہ پانچویں اقتدار میں کام،
اور ہم میں گزر رہے ہیں اس قدر 4 تقریب.
اور ہم اس قیمت حاصل ہم، 1024 توقع ہے کہ.
سامعین: اور یہ ایک نہیں ہے یہ آسان کرتا ہے تو، کا نام
، جو مربع کو پڑھنے کے لئے.
>> DAN AMRMENDARIZ: دائیں، بالکل.
میں نے صرف اسے ڈال سے پہلے تو یہاں تو ایک مسلسل میں
اسے بنایا ہے کہ یہ بہت آسان ہے استعمال کرنے کے لئے نام.
جی ہاں؟
>> سامعین: اس تناظر میں powerOf، اس حصہ ہے
پروگرامنگ زبان کے جس طرح تم نے مخالفت کے طور پر
[اشراوی] میں powerOf کے بارے میں سوچ؟
DAN AMRMENDARIZ تو اس صورت میں، powerOf
کی صرف نام ہے میں یہاں بیان کیا ہے کہ تقریب.
تو یہ موروثی نہیں ہے زبان خود کو،
بلکہ اس کی بجائے، یہ صرف ہے ہے کہ ایک تقریب
اس کے نام میں اس کا نام دینے کی وجہ سے.
کوئی سوال؟
بالکل ٹھیک.
>> اب یہ بہت اچھا ہے.
لیکن اگر آپ ایک کو دیکھنے کے لئے نہیں کر رہے ہیں بندش کے افعال میں سے بہت ہے کہ
آپ کی وضاحت جہاں اندر، اس طرح ہیں ایک تقریب، ایک اور تقریب کی.
اور آپ کو یہ کر سکتے ہیں.
لیکن اس قسم کی نہیں ہے بہت ضروری، ٹھیک ہے؟
میں نے اس کی وضاحت کرتے ہیں کیوں کی طرح تقریب میں بلایا exponentiator
اور اس کے بعد فوری طور پر اس کو واپس.
کیوں نہیں کر سکتے ہیں میں صرف فوری طور پر اس تقریب واپس؟
>> اور حقیقت میں، یہ واضح طور پر ہے نامی ایک تصور کے پیچھے خیال
گمنام افعال، جہاں گمنام افعال اصل میں ایسا نہیں کرتے
وہ ایک نام ہے ایک کرنے کی ضرورت نہیں.
اور تو اس صورت میں، 7B میں، ہم خاص طور پر حاصل کر سکتے ہیں.
یہ، سب ایک ہی کوڈ ہے ، بالکل ایک ہی بات کرتا ہے
لیکن اب ہم تو تھوڑا سا تبدیل کر دیا گیا ہے اس powerOf تقریب فوری طور پر
ایک تقریب کی واپسی.
واپسی کے بعد کہ نوٹس، ایک کھلی گھوبگھرالی بریکٹ ہے.
یہ ان پٹ ڈبل توقع ہے.
یہ پیداوار ڈبل کی توقع ہے.
اور پھر میں مطلوبہ الفاظ کوڈ خود جدا.
تو یہ ایک گمنام تقریب ہے.
یہ اصل میں، جبکہ ایک نام نہیں ہے اس سے پہلے exponentiator بلایا گیا تھا.
لیکن ہم صرف واقعی، دیکھا کے طور پر exponentiator سے رجوع نہیں کیا
اس تقریب کے باہر.
تو یہ کوئی فرق نہیں تھا.
تو یہ گمنام تقریب ہے اس بینام ہے کیونکہ نام نہاد،
لیکن یہ اب بھی استعمال کیا جا رہا اس کوڈ کے تناظر میں.
>> ہوں اگلے جوڑے ہیں امید ہے کہ جاری رکھنے کے لئے جا رہا
آپ کے دماغ تھوڑا سا اڑانے.
ہم اس سے بھی زیادہ آسان بنانے کے کر سکتے ہیں.
احتیاط کے طور پر کی وجہ سے ، پہلے باہر کی طرف اشارہ
شاید ہم اصل کی طرف سے جانتے ہیں، اس کوڈ سے تاثر، کیا
اس کوڈ کی پیداوار ہونے جا رہا ہے.
اور حقیقت میں، اس گمنام تقریب میں، ہم حقیقت میں اعداد و شمار کے اقسام اندازہ کر سکتے ہیں.
>> تو اس میں سے ایک میں، ہم اب کوئی واضح طور پر کی وضاحت کرنے کی ضرورت ہے
کیا جا رہا ہے کہ اعداد و شمار کی قسم اس تقریب سے ان پٹ اور آؤٹ پٹ
وجوہات میں سے ایک جوڑے کے لئے.
ایک ہم میں، وضاحت کی گئی ہے کہ احاطہ تقریب کے پروٹوٹائپ،
اعداد و شمار اس گمنام کے کس قسم کی تقریب ان پٹ اور آؤٹ پٹ چاہئے.
اور دوسرے سے، ہم کوڈ سے اندازہ کر سکتے ہیں
یہاں نیچے ہم قبول کر رہے ہیں کہ ڈبل قسم کی ہے کہ ان پٹ
اور ایک ڈبل واپس لوٹنے.
>> ہم واضح طور پر نہیں ہے کہ یہاں نوٹس دلائل کے نام کی وضاحت
اس تقریب کو قبول کیا جاتا.
اور اس طرح ہم سے رجوع کر سکتے ہیں دیکھیں $ 0، $ 1 کو استعمال کرتے ہوئے ان پیرامیٹرز،
تو اور تو آگے، پر منحصر ہے استعمال کیا جاتا ہے کہ ایک پیرامیٹر کی تعداد
اس تقریب میں.
>> یہ آپ جا رہے ہیں کہ کچھ ہے ایک بہت کھلی گھوبگھرالی بریکٹ ہے کو دیکھنے کے لئے
تعریف ایک کی طرف سے کے بعد $ 0، اور پھر کچھ کارروائی،
اور پھر ایک بند گھوبگھرالی بریکٹ.
یہ ایک گمنام تقریب ہے اس آپریشن کارکردگی کا مظاہرہ.
یہ پیرامیٹر جہاں ہے اس قسم قیاسی ہے ہے.
یہ پہلی پیرامیٹر $ 0 ہے.
اور کچھ آپریشن ہے کہ $ 0 پر ہو.
>> سامعین: ڈالر کا نشان تو ، بنیادی طور پر پیرامیٹر کا مطلب
0 سب سے پہلے کا مطلب ہے؟
DAN ARMENDARIZ: یہ صحیح ہے.
تو ڈالر کی نشانی بنیادی طور پر مطلب پیرامیٹر، اور 0 سب سے پہلے کا مطلب.
لیکن اس میں خاص طور پر کام کرتا ہے میں نام نہیں ہے جہاں اس کیس
میری گمنام تقریب میں دلائل.
>> سامعین: پرل یا کچھ ہے وہاں میں اس ڈالر کا نشان، ڈالر 0؟
DAN ARMENDARIZ: میں معافی چاہتا ہوں، جو ہے؟
سامعین: پرل ہے اس ڈالر 0، ڈالر 1--
DAN ARMENDARIZ: میں نہیں ہوں پرل کے ساتھ بھی واقف،
لیکن پی ایچ پی کیا متغیر کی وضاحت ڈالر علامات کی بنیاد پر.
اور کچھ زبانوں ہو سکتی ہے اس طرح کی خصوصیات ہے کہ.
اصل میں، قرض ایک سوئفٹ اس طرح خصوصیات میں سے بہت
دیگر زبانوں کی ایک بہت سے.
ہم نے اس میں ازگر کے اشارے دیکھیں.
قسم کی اس تعریف OCaml سے آنے لگتا ہے.
اور ہم صرف ایک پورے گچرچھی ہے مختلف زبانوں کے بہت سے چیزیں.
وہ اچھا میں سے ایک ہے سوئفٹ کے بارے میں باتیں
یہ سب سے بہتر میں سے ایک بہت لیتا ہے زبانوں کے ایک گروپ کی طرف سے خیالات
اور ان کے ساتھ تمام shoehorns ایک سپر زبان میں.
اصل میں، اگر آپ مجھے کرنے کی اجازت آپ کے دماغ اڑانے کے لئے جاری،
تو ہم نے اس کے تمام کر رہا ہوں.
ہم شاید یہ تھوڑا آسان بنانے کر سکتے ہیں کورس کے، کہ احساس کی طرف سے تھوڑا سا،
سوئفٹ ایک exponentiating ہے تقریب میں تعمیر.
میں ڈارون، درآمد کرنے کی صورت جس صرف لائبریری ہے کہ
اب، اس تقریب میں بلایا پاؤ خصوصیات میں تقریب کے اپنے اقتدار کو آسان بنانے کے کر سکتے ہیں
مندرجہ ذیل ہونا.
اس کے واپس لوٹنے کی جا رہی ہے اس گمنام تقریب.
>> لیکن یہ ہے کہ کس طرح سادہ دیکھو.
یہ ایک گمنام تقریب ہے اعداد و شمار کے کچھ قسم کو قبول کیا جاتا،
اور یہ ایک ہونے جا رہا ہے دلیل خاص،
قسم ڈبل ہے کہ $ 0 محولہ.
یہ ایک قسم ڈبل واپس جا رہا ہے.
لیکن واپسی کا بیان اب شامل ہے.
>> اور یہ عین مطابق سٹائل ہے کہ ، سوئفٹ میں بہت، بہت مقبول ہے
سب جگہ.
ہم اس کو دیکھنے کے لئے جا رہے ہیں سوئفٹ میں ہر وقت.
تو میں اس کے تمام دکھا رہا ہوں آپ کو اس نحو کی وجہ سے.
یہ بہت عام ہے اس کا مطلب ہے، کو دیکھنے کے لئے
ایک گمنام تقریب ہے کہ انجام دے رہا ہے
ان دلائل پر کچھ آپریشن.
اور ایک انترنہیت واپسی نہیں ہے.
تو یہ بالکل ایک ہی بات ہے ہم یہیں، اس کا کہنا ہے کرنے کے لئے.
>> اس گھوبگھرالی کیونکہ بریکٹ، ایک تقریب ہے
ہم اس آپریشن کو انجام دینے ہیں پہلی دلیل پر.
ہم نے اس کو واپس کرنے کے لئے جا رہے ہیں.
لیکن یہ بیرونی واپسی ہے کہ پورے تقریب آرہے ہیں،
کہ پورے گمنام تقریب ہم صرف پیدا کیا ہے کہ.
کوئی سوال؟
ٹھیک ہے، میں تو نہیں جانتے تم لوگوں کو اس کے لئے تیار ہیں
لیکن ہم سوئفٹ کے ساتھ بھی پاگل جا سکتے ہیں.
آپ تیار ہیں؟
ٹھیک ہے، یہ بہت اچھا ہے.
>> اب ہم اصل صلاحیت ہے کرنے کے لئے، سوئفٹ میں، وجہ سے کس طرح ماڈیولر
پروٹوکول کی بنیاد پر کس طرح اور اس کے لئے، ہے اپنے پاگل آپریٹرز وضاحت.
اس کیس میں طرح، ہم نے کوئی اچھی exponentiation-- لئے آپریٹر،
کچھ کے اختیارات کی کارکردگی کے لئے.
لیکن میں، سوئفٹ میں، ایک نئی وضاحت کر سکتے ہیں خاص طور پر کرتا ہے کہ آپریٹر.
تو اس صورت میں موجود ہے یہاں نحو کا ایک گروپ.
اور میں تم سے اس کو دیکھنے کے لئے کی اجازت دے گا گھر میں آپ کو اس کی طرف دیکھو جب.
لیکن ہم اس infix وضاحت کر رہے ہیں آپریٹر، **، جو اس کے بعد، ہمیں اجازت دے گا
کیا ہے کہ وضاحت کی طرف سے تقریب ** اصل
، ایک بائیں ہاتھ قبول کرنے کے لئے ہے کی طرف اور ایک دائیں ہاتھ کی طرف،
اور پھر اس کے مائپادک واپس کرنے دائیں ہاتھ کی طرف کرنے کے لئے بائیں ہاتھ کی طرف.
>> اور اس طرح اب اچانک میں تمام ایک نئی numerator کے پیدا کیا ہے.
تو 2 ** 3 تیسری اقتدار میں 2 کا مطلب ہے.
[دماغ اڑا صوتی] اس کی طرف سے خود، آپ کی طرح ہو بنانا چاہیے
ٹھیک ہے، سکرو سی میں جا رہا ہوں Swift تمام راستہ.
زبردست.
یہ خوبصورت بہت اچھا ہے.
>> اگرچہ یہ ایک بڑی مثال ہے.
لیکن میں ایک بار باہر کبھی نہیں اس مثال کے طور پر اصل میں
اپنے آپریٹر کی وضاحت.
لیکن پھر بھی، یہ ظاہر کرتا ہے ایک سوئفٹ کی طاقت کی ایک بہت
اور یہ اصل میں ہے کیوں واقعی بہت ٹھنڈا.
جی ہاں، ٹھیک ہے؟
سامعین: آپ ہیں تو اپنی خود آپریٹر کی وضاحت،
آپ اتفاقی طور پر نہیں جانتے ہیں کہ کس طرح کوشش کریں اور ہے کہ ایک منتظم، تخلیق
C میں کہیں، طرح سوئفٹ میں کہیں چھپے ہوئے،
ایک گمنام ایک کی طرح ہے کہ آپ کو پہلے دیکھا ہے نہیں کر سکتے ہیں.
>> DAN ARMENDARIZ: آپ کوشش کر رہے ہیں تو اپنی خود کی وضاحت کرنے کے لئے آپریٹرز،
وضاحت کا خطرہ ہے ایک موجودہ آپریٹر پر ایک.
اس تفصیل کی سطح ہے کہ میں چلا جاتا ہے میرے خیال میں ہمیں پر جانے کے لئے وقت نہیں لگتا.
لیکن یہ ایک خطرہ ہے.
اور یہ کہ بہت وجہ حقیقت میں ہے میں جزم کی علامت، استعمال نہیں کیا جس
ہم نے اقتدار سے باہر ٹائپ کر رہے ہیں جب، ہم عام طور پر 4 چھوٹی سی جزم 5 یا کچھ استعمال
اس طرح، صرف ہم ہیں جب دوستوں یا جو کچھ بھی Gchatting.
لیکن اس صورت میں، اصل میں ہے کہ ایک تصادم کی وجہ سے کیا جائے گا.
اور اس میں صرف اس وجہ سے اس سے گریز میں اس معاملے میں جاننے کی ہوا
کہ تصادم کا سبب بن جائے گا کہ.
>> بالکل ٹھیک.
اب بدقسمتی سے، کے لئے گزشتہ سات منٹ،
میں اڑانے رکھنے کے لئے ہے آپ کے دماغ تھوڑا سا.
تو مجھے آپ کو ظاہر کرنے کی اجازت دیتے ہیں کچھ دوسری چیزوں کے ساتھ ساتھ.
>> ہم آپ کے اس خیال دکھایا گیا ہے ان گمنام افعال رکھنے،
آپ کو اجازت دیتے ہیں کہ ان کی بندش قسم کے ارد گرد افعال کو منتقل.
آپ انہیں واپس کر سکتے ہیں.
تم ان جوڑتوڑ کر سکتے ہیں.
تم پاگل چیزیں کے تمام قسم کے کر سکتے ہیں.
>> لیکن ایک دوسری بات یہ ہے کہ مفید ہو
صلاحیت، کی مخالفت کی ہے کے طور پر ان افعال آرہے ہیں
ایک تقریب میں ایک تقریب منتقل کرنے کی ایک تقریب کے لئے ایک پیرامیٹر کے طور پر.
تم زمین پر کیوں اچھی طرح سوچ سکتا ہے میں اس طرح کچھ کرنا چاہتے ہیں؟
>> ٹھیک ہے، میں چاہتا ہوں کہ کا کہنا ہے کہ یہ آپریٹر لینے کے لئے کہ میں
کام اتنا مشکل تشکیل دیتے ہیں اور لاگو کرنے کے لئے مختلف تعداد کے ایک گروپ کے لئے اس
ایک صف میں.
تو اس معاملے میں میں ایک صف ہے 1، 4، 7، 2، 5، 10، 56 integers--.
اور میں ان سب کو دگنا کرنے کے لئے چاہتے ہیں.
طریقہ ہے کہ ہم عام طور پر کرے گا یہ صرف لکھنے کے لئے ہے کیا
لوپ کے لئے ایک آسان ہے ان میں سے سب ختم ہو iterates
اور کسی قسم کا انجام ان سے زائد مربع آپریشن،
ایک نیا میں ان نئی اقدار inputting کی متغیر، یا بلکہ، یہاں ایک نئی صف.
اور کی پیداوار کی قدر نتیجہ، پھر ان arrays کے ہے
یا بلکہ ان میں سے سب عناصر اب مربع.
>> اور ہم ایک ہی کر سکتے ہیں اس cubing کے لئے بات،
لیکن ایک چھوٹی سی خطرے کی گھنٹی ہونا چاہئے بند جا رہا
شاید وہاں کہہ رہی ہے کہ کسی نہ کسی طرح ہے کہ ہم کریں گے
یہ تھوڑا سا آسان بنانے کے لئے کے قابل ہو جائے.
اور حقیقت میں نہیں ہے.
کیا ہم تخلیق کر سکتا ہے تو کی اجازت دیتا ہے کہ ایک تقریب
ایک شکاری، ایک تقریب کے طور، قبول کرنے کے لئے؟
تو اس صورت میں، ایک لے ان دلائل پر نظر.
ہم ڈبلز کی ایک فہرست کو قبول کرنے جا رہے ہیں.
اور پھر ہم جا رہے ہیں ایک تقریب کو قبول کرنے
کہ ایف نامی ایک متغیر میں جا رہا ہے ایک ڈبل لے لو اور ایک ڈبل واپس کرنے.
اور پوری پیداوار اس پورے تقریب کے
کہا جاتا Mapper کے لئے جا رہی ہے ڈبل نامی ایک صف واپس.
>> یہ تو مجھ سے کی اجازت دے گا کیا کرتے ہیں کہ فہرست پر iterate ہے
اور اب ایک ہی بات کرتے ہیں، لیکن ہر ایک پر اس تقریب کا اطلاق
اس فہرست میں انفرادی اقدار کی.
تو میں واقعی میں کیا ہے F نہیں جانتے.
یہ میرے لئے کوئی فرق نہیں پڑتا.
لیکن یہ ایک ڈبل میں لیتا ہے اتنی دیر کے طور پر، ، اس پر کچھ آپریشن کارکردگی کا مظاہرہ
اور پھر واپسی ایک ڈبل، میں تو ہو جائے گا
بھر میں اس تقریب کے نقشے پر قابل فہرست میں ہر ایک عنصر.
>> اور پروگرامنگ کی اس قسم کی ہے کہا جاتا اعلی آرڈر کام کرتا ہے،
ہم کہاں افعال گزر رہے ہیں کے ارد گرد پیرامیٹرز کے طور پر
اور افعال کے ساتھ باتیں کر رہے.
یہ ان میں سے سب لینے کی طرح طرح ہے ہم CS50 میں سیکھا ہے کہ خیالات
اور اس طرح ان کو لینے کی اگلی سطح پر.
اور اس کے تمام CS51 انداز سامان ہے.
اور اس طرح ہم گہرائی میں جائیں گے اس طرح کلاسوں میں زیادہ.
>> لیکن یہ بھی ہے یہاں اہم وجہ سے ہم
کے افعال میں سے ایک بہت کچھ دیکھیں سوئفٹ میں استعمال کیا جاتا ہے
کہ بنیادی طور پر کرتا ہے اس، ہم کہاں ہے
کچھ تعداد، تعداد کے کچھ صف.
ہم نے اس کے پاس جا رہے ہیں ہمارے Mapper کے میں سرنی.
اور ہم بھی جا رہے ہیں کچھ تقریب، کے پاس ہے جس
ہم نے پہلے ہی یہاں بیان کیا ہے.
یہ مربع ہونے جا رہا ہے.
اور ہم نے اس کے بعد جا رہے ہیں ان کی تعداد کے تمام مربع
اور یہاں یہ نتیجہ میں اس سٹور.
>> تو اس صورت ہم نے وضاحت کی ہے ہماری خود کی تقریب Mapper کے بلایا.
لیکن یہ عین مطابق بات، ہے حقیقت میں، سوئفٹ میں تعمیر.
ایک قسم کی ہیں افعال نقشہ نامی.
ایک نقشہ تقریب نہیں ہے، ایک تقریب میں کمی ہے،
اور ایک فلٹر تقریب ہے، بنیادی طور پر لاگو ہوتے ہیں جو افعال
ایک میں ہر ایک عنصر پر کسی نہ کسی طرح میں ان پر نظر ثانی کی فہرست.
>> سامعین: آپ کو تبدیل کر رہے ہیں کے بعد تو ایک دوسرے کی شکل میں اعداد و شمار
ایک تقریب کے ذریعے
DAN ARMENDARIZ: دائیں.
جی ہاں، تو تقریب ہم قبول کر رہے ہیں کہ
کسی نہ کسی طرح میں اعداد و شمار تبدیل کر رہا ہے.
اس صورت میں، ہم یا تو تھے یہ مربعاتی، یا ہم اس cubing تھے،
یا واقعی، ہم کام انجام دے سکتے اس پر بالکل کوئی آپریشن.
>> لیکن مجھے تو پھر کس طرح یہ آپ کو ظاہر کرتے ہیں عملی طور پر دیکھنے کے لئے کی جا رہی ہے.
اور پھر، میں رہا ہوں وقت کے تھوڑا سا. تو میں نہیں ہوں
سب سے زیادہ جانے کے لئے کے قابل ہو جائے کرنے کے لئے جا یہاں تفصیل میں منبع کوڈ کے.
لیکن مجھے لگتا ہے کہ آپ کو ایسا کرنے کی حوصلہ افزائی.
ہم جتنی جلدی کے طور پر پوسٹ کریں گے ممکن ہے اس گفتگو کے بعد.
>> لیکن آپ کو اس پر ایک نظر ڈالیں تو، ہم نے اعداد کی ایک فہرست ہے کہ فرض،
اس میں تعداد کے ایک صف متغیر بلایا تعداد.
پھر ہم اس کو انجام دینے کے لئے چاہتے ہیں ان کی تعداد پر فلٹر آپریشن.
تو فلٹر زیادہ ہے آرڈر تقریب اس
بھی ایک سرنی اور ایک تقریب قبول کرتا ہے.
اور اس میں ہر عنصر پر سرنی، اس تقریب کارکردگی کا مظاہرہ.
>> کہ تقریب کی واپسی تو سچ ہے، یہ ہے کہ شے رکھتا.
اس تقریب جھوٹے واپس تو، اس شے کے دور ڈالی.
اور پھر یہ ایک فہرست واپس کہ اس وقت سب کو بنایا گیا ہے
فلٹر کر دیا گیا ہے کہ ان اشیاء کی.
>> تو دوسرے الفاظ میں، یہ ہے اسی خیال، gradebook.
ہم گریڈ کی ایک قسم ہو سکتا ہے اس قدر کہا جاتا تعداد میں.
100، اور 70، اور ہو سکتا ہے 40، تو اور تو آگے.
کیا اس فلٹر کرتا ہے نوٹس ہے یہ اس syntactic چینی ہے
ایک گمنام تقریب کے لئے.
یہ کہہ ایک گمنام تقریب ہے کہ میں نے قبول کر رہا ہوں کہ پیرامیٹر
یہ تو، جا رہا ہے ، 70 سے زیادہ ہے
تو اس کا مطلب ہے کہ، سچ واپس آ جائیں گے اس شے اس فلٹر میں رکھا جائے گا.
تو تھوڑا سا ہو اس کے بارے میں زیادہ ٹھوس.
میں تعداد کے اس صف ہے تو اور یہ، 100، 70، اور 40 پر مشتمل ہے
میں اس فلٹر کو انجام ان میں سے ہر ایک پر آپریشن.
تو ہے کہ سب سے پہلے ایک 100 اس کی قیمت ہے.
100 سے زیادہ یا برابر 70، جو سچ ہے
100 میں رکھا جاتا ہے کا مطلب ہے کہ اس صف کے اس نئے نقل.
70 بھی گزر جاتا ہے.
لیکن 40 نہیں.
تو passingCount میں کیا واپس آ جاتا ہے عناصر 100 اور صف ہے 70--
100، کوما، 70.
وہ صرف دو تھے رکھا گیا ہے کہ اشیاء.
اور اس وجہ سے میں نے جلدی سے کے ذریعے چلا گیا اعلی درجے کی ان قسم کی ایک بہت
یہ ہے کہ عام ہے کیونکہ چیزیں ہیں آپ سوئفٹ میں خوبصورت نظر آئے گا کہ بات
اکثر، کچھ آپریشن کارکردگی کا مظاہرہ کیا ہے اس گمنام تقریب نحو استعمال کر رہے ہیں.
>> کچھ ٹھنڈی چیزیں نہیں ہے.
سوئچز، سوئفٹ میں واقعی طاقتور ہیں میں صرف پاگل، پاگل طاقتور مطلب.
آپ کو سوئچ استعمال کر سکتے ہیں آپ اصل میں ان کا اطلاق کر سکتے ہیں
پاگلپن کی طرح ہے جس میں حدود کی وجہ سے، اور اس طرح چیزیں پسند کرتے ہیں.
>> لیکن گزشتہ چند منٹ میں، میں بہت دور آگے جائیں کرنے کے لئے چاہتے ہیں
اور آپ کو کس طرح ایک مخصوص مثال ظاہر ہم تیز استعمال کرتے ہوئے iOS اپلی کیشن میں تشکیل دے سکتے ہیں.
تو جب تم کر رہے ہو اس، آپ کو لینے کے لئے کرنا پڑے گا
ایپل کی پر کی لمبائی تو نظر آتے ہیں دستاویزات، وہ
بہت اچھا سبق کی ایک بہت کچھ کرنا پڑے آپ کی پہلی درخواست پیدا کرنے کے لئے.
اور مجھے کیا کرنا ہے کرنے کی حوصلہ افزائی وہ آپ کو لینے کی وجہ سے
جو تمام اقدامات بالکل کے ذریعے ایک iOS ایپلی کیشن تخلیق کرنے پر کلک کریں.
>> لیکن یہاں ہم یہ iOS اپلی کیشن ہے.
اور یہ ایک خوبصورت سادہ اپلی کیشن واقعی ہے.
میں اس چلاتے ہیں تو، مجھے دکھا دو آپ کو اس طرح لگتا ہے.
یہ بنیادی طور پر کرتا ہے انٹرنیٹ ایک JSON فائل سے ھیںچتی
کہ میں ایک سرور پر محفوظ ہیں.
اس JSON فائل اجازت دیتے ہیں کہ تصاویر کی وضاحت
مجھ پر، کے ذریعے سائیکل کرنے کے لئے پھر میری اپلی کیشن، میری ویب سرور کی طرف سے تصاویر.
>> تو میں یہاں getNextImage ہے.
یہ انٹرنیٹ سے ایک تصویر بوجھ اور اس کے بعد سکرین پر دکھاتا ہے.
>> تو یہ بہت آسان ہے.
لیکن یہاں مقصد دکھانے کے لئے ہے آپ ہم چیزوں کو اکٹھا کر سکتے ہیں کس طرح
CS50 کے آخری چند ہفتوں سے ایک اصل iOS درخواست میں.
دوسرے الفاظ میں، شاید ایک میں آپ کرنا چاہتے ہیں کریں گے کہ چیزوں
ایک iOS درخواست ہے کہ انٹرنیٹ سے ڈیٹا ھیںچو کر سکتے ہیں
اور صارف کو کچھ معلومات ظاہر.
کہ مکمل طور پر نقطہ ہے یہاں اس کے منبع کوڈ کے.
>> اس کے بارے میں کہا جا کرنے کے لئے ایک بہت کچھ ہے کس طرح اصل iOS ترقی کرنا.
پاگل نحو کے ایک بہت کچھ ہے ہم کافی ابھی تک نہیں دیکھا ہے کہ
ایک کلاس کی طرح، ایک کلاس اصل میں کیا ہے.
ہم بڑی حد تک نظر انداز کر سکتے ہیں وقت کے لئے کیا جا رہا ہے.
>> لیکن ہم موجود ہے کہ نوٹس یہ چیزوں کی ایک قسم کے اندر اندر
ہم نے پہلے ہی کی طرح دیکھا ہے کہ مخصوص نام ہے کہ کام کرتا ہے.
اور ہم ان دے جب صحیح نام کام
اس حقیقت میں، iOS کی طرف سے توقع کی جاتی ہے یہ تھوڑا سا جادو محسوس.
لیکن آپ کو ایک بنانے کے وقت iOS درخواست، وہاں
مخصوص تقریب کے ناموں سے ہیں کہ فون خود کی طرف سے کہا جاتا ہے
درخواست کرنے کی کوشش کرنا لوڈ کر رہا ہے کے طور پر کہ اصل میں عمل پیدا کرنے کے لئے
آپ کی درخواست چلاتے ہیں.
تو ایک بار پھر، چیزوں کی ایک بہت ہے کہ میں ہمارے لئے ترتیب میں یہاں ٹیکہ ہے
اس کے بارے میں خاص طور پر بات کرنے کے لئے.
لیکن میں شاید کو دیکھنے کے لئے آپ کی حوصلہ افزائی دوسرے iOS سیمینار، بلکہ کچھ
ہے جس میں سبق آن لائن بیان کرنے کا ایک بہت اچھا کام
مخصوص معلومات.
>> لیکن ہم چیزوں کی ایک جوڑے کو دیکھ کر سکتے ہیں یہاں کوڈ سے دلچسپ ہیں.
ہم بیانات تو ہے کہ محسوس کریں.
ویسے، ایک اہم بیانات تو کے بارے میں بات
ہے اس کے ارد گرد قوسین بولین اظہار اختیاری ہیں.
لیکن گھوبگھرالی منحنی خطوط وحدانی، اختیاری نہیں ہیں کوئی بات نہیں کس طرح چند یا کوڈ کے کئی لائنوں
آپ کو ایک بیان اگر میں ہے.
آپ بیانات تو ایک نہیں کر سکتے ہیں سوئفٹ میں گھوبگھرالی منحنی خطوط وحدانی کے بغیر.
>> یہ، اچھی طرح، کی طرح پاگل ہے.
لیکن اس کے لئے تاریخی وجوہات کی بنا ہے.
یہ اپنے آپ کی طرف سے آپ کو بچانے کے لئے توقع کی جاتی ہے.
مثال کے طور پر اس طرح، تم نہیں کر سکتے اس کے ارد گرد گھوبگھرالی منحنی خطوط وحدانی کے خاتمے
اگر بیان.
وہ حقیقت یہ ہے کہ میں کی ضرورت ہے.
تو میں آپ کی حوصلہ افزائی اس پر ایک نظر ڈالیں.
لیکن ایک سے زیادہ ہے میں چاہتا ہوں کہ تعمیر
سوئفٹ کے بارے میں آپ کو ظاہر کرنے کے لئے اس مقابلے سوئفٹ 2.0 میں نیا ہے
سوئفٹ کے پرانے ورژن کے لئے، جو مندرجہ ذیل ہے.
میں نے اسے یہاں ڈال دیا تھا جہاں چلو دیکھتے ہیں؟
>> تو اس تقریب میں بلایا fetchJSON، اس تقریب
کہ JSON ھیںچ کے لئے ذمہ دار ہے صرف اتنا ہوتا ہے جس میں ایک یو آر ایل، سے فائل
میرے CS50 IDE پر چلانے کے لئے.
میں صرف، اپاچی شروع وہاں اپنے JSON فائل ڈال،
اور میں پھر اس ھیںچو کرنے کے قابل ہوں استعمال کرتے ہوئے انٹرنیٹ سے اعداد و شمار
اس تقریب اور اس یو آر ایل، جس کے فون کی طرف سے فراہم کی جاتی ہے.
یہ ایک کی طرف سے فراہم کی ہے لائبریری جب آپ استعمال کرتے ہیں کہ
آپ کو کچھ iOS اپلی کیشن ترقی کر رہے ہیں.
>> یہ غیر معمولی ہے کہ وہاں یہاں نوٹس نحوی تعمیر گارڈ بلایا.
اور واقعی یہ سب میں ہے سوئفٹ کی تصدیق کا ایک طریقہ ہے
کچھ چیزیں ہیں کہ تم سے پہلے ملاقات کی گئی
تقریب کے باقی حصوں کے ساتھ آگے بڑھنے.
لہذا میں استعمال کر رہے ہیں، کر سکتے ہیں یہ اختیاری کی قسم،
میں یو آر ایل کی طرف سے پایا جا سکتا ہے اس NSURL تقریب چل رہا ہے
اور ایک یو آر ایل میں اس ذخیرہ مسلسل، اور اس کے بعد کی جانچ پڑتال
یو آر ایل صفر تھا تو، کو دیکھنے کے لئے اس کی وجہ سے ایک اختیاری قسم واپس جا رہا تھا.
یہ صفر تھا، تو میں کروں گا ایک غلطی باہر پرنٹ اور اس کے بعد واپس.
>> بلکہ اس کی بجائے، جو گارڈ کی اجازت دیتا ہے ہمیں، کہ بہت اچھی بات ہے کیا
لیکن یہ اس بات کا یقین اصل میں ایسا کہ یو آر ایل
مناسب طریقے سے NSURL کی طرف سے مقرر کیا گیا ہے.
اور یہ اس وقت ہے تو اس سے زیادہ میں skips، اور یہ
آپ کے ساتھ آگے بڑھنے کے لئے کی اجازت دے گا یو آر ایل ٹھیک بیان کیا گیا ہے.
لیکن اگر یہ معاملہ ہے کہ یو آر ایل ٹھیک وضاحت نہیں ہے،
اس تقریب کا ایک خامی واپس تو یا کسی دوسرے غیر متوقع بات
اصل میں، اس گارڈ کی تعمیر اس وقت ہوتی ہے تو پیداوار ہے کہ غلطی کرنے کی اجازت دیتا
اور فوری طور پر واپس.
جی ہاں؟
>> سامعین: تو یہ قسم ہے کے بعد اور اگر پسند کریں گے؟
DAN ARMENDARIZ: یہ قسم کی ہے ، ایک جی ہاں، تو اور اگر کی طرح
اس یو آر ایل ہے تو سوائے اس کے کہ اس ذیل میں سب کچھ کے لئے کی وضاحت.
اس کے بعد، اس گارڈ گزر جاتا ہے اصل اعداد و شمار کے ساتھ بھر جائے گی
اور باقی میں استعمال کے قابل آپ کی تقریب میں منبع کوڈ.
تو میں آپ کے لئے جا رہے ہیں کہ شبہ اس کے ساتھ ساتھ گارڈ دیکھنے کے لئے شروع.
اس بات کا احساس ہو.
>> تو دوسرے کے ایک جوڑے کو دیکھ کر چیزیں، یہاں یہ صحیح ہے،
آپ کو لگتا ہے، صرف کی بنیاد پر ہم سے پہلے کے بارے میں بات کر رہے تھے؟
>> سامعین: اس فہرست میں چلائے جائیں گے لگتا ہے؟
>> DAN ARMENDARIZ: تو اس کے قریب ہے.
یہ ہم وضاحت کر رہے ہیں کہ ایک تقریب ہے.
اور ہم نے اس تقریب inputting کی ہیں یہاں اس تقریب میں ایک دلیل کے طور.
>> سامعین: صفر [اشراوی] اگر نہیں.
تو یہ درست ہے، فہرست میں ہے؟
>> DAN ARMENDARIZ: خرابی صفر نہیں ہے تو، تاکہ میں سکرال کرنے کی ضرورت ہے تاکہ is--.
ویسے، مجھے سچ میں، چلو دیکھتے نہیں کر سکتے یہاں دائیں کرنے کے لئے سکرال.
غلطی کیا جا رہا ہے کہ ایک دلیل ہے اس گمنام تقریب میں منظور.
یہ ایک گمنام تقریب ہے.
یہ کوئی نام ہے.
لیکن ہم ان تین قبول کر رہے ہیں دلائل، کے اعداد و شمار، جواب، اور غلطی.
اور ایسا، باطل واپس جا رہا ہے اسے کچھ بھی واپس نہیں جا رہا ہے.
یہ مواد ہے اس تقریب کی.
اور پھر ہم اس کے اندر رسائی حاصل ہے ان دلائل میں سے ہر ایک کے لئے تقریب.
>> تو یہ ایک بونڈر ہے زبان کے دورے.
لیکن میں اس کے ساتھ امید ہے کہ، امید ہے کہ آپ لے کے طور پر
سبق کی کچھ پر ایک نظر سوئفٹ کے ساتھ iOS ترقی کے لئے مخصوص،
آپ کو جانا خاص طور پر اگر ایپل کے ڈویلپر ویب صفحہ
وہ واقعی اچھے کی ایک بہت کچھ کرنا پڑے سبق آپ کو شروع کرنے.
لیکن بات کرنے کا امید ہے کہ صرف اس گھڑی نحو کے بارے میں خود کو دیا ہے
آپ کو کافی اس کے ساتھ شروع کرنے کے لئے.
>> ہم اس کے ذریعہ کی تمام پوسٹ کرے گا سیمینار ویب سائٹ پر کوڈ
جتنی جلدی ممکن ہو، اور بھی سلائڈ کے طور پر لہذا آپ کو تمام لوگوں کے لئے ایک حوالہ ہے.
آپ کے منصوبوں کے ساتھ لیکن اچھی قسمت.
اور آنے کے لئے آپ کا بہت بہت شکریہ.
>> [تالیاں]