1 00:00:00,000 --> 00:00:03,332 >> [Daqq tal-mużika] 2 00:00:03,332 --> 00:00:06,200 3 00:00:06,200 --> 00:00:09,590 >> DAN AMRMENDARIZ: Kulħadd, merħba lill-seminar CS50, 4 00:00:09,590 --> 00:00:11,690 IOS App Iżvilupp ma Swift. 5 00:00:11,690 --> 00:00:15,690 Jien Dan Armendáriz, u jien preceptor tax-xjenza tal-kompjuter hawn fil-Harvard. 6 00:00:15,690 --> 00:00:21,510 >> U l-siegħa li jmiss se tkun tour whirlwind ta 'għalf kemm 7 00:00:21,510 --> 00:00:25,160 dwar dan is-suġġett kif aħna jistgħu joqogħdu. 8 00:00:25,160 --> 00:00:29,170 I ser post kollha ta 'l-source code li se tara illum online. 9 00:00:29,170 --> 00:00:31,990 Aħna jistgħu ma jkunux kapaċi li fil-fatt imorru fuq kollox 10 00:00:31,990 --> 00:00:34,810 li jien li jien turi li inti f'din siegħa. 11 00:00:34,810 --> 00:00:37,580 Imma l-anqas nisperaw permezz l-kummenti tal-kodiċi sors, 12 00:00:37,580 --> 00:00:40,830 inti ser tkun tista 'tipprova ċifra barra dak eżattament jiġri għal dawk l-affarijiet 13 00:00:40,830 --> 00:00:42,950 li aħna ma pjuttost issiru. 14 00:00:42,950 --> 00:00:46,970 >> B'mod ġenerali, l-istruttura ta ' talk lum se tkun kif ġej. 15 00:00:46,970 --> 00:00:52,820 Aħna ser tibda tagħmel xi bażika sintassi mal-lingwa Swift, 16 00:00:52,820 --> 00:00:56,290 nidħlu xi wħud mill-aktar avvanzati sintassi tal-lingwa Swift. 17 00:00:56,290 --> 00:00:59,560 Minħabba li l-lingwa huwa verament moderna u 18 00:00:59,560 --> 00:01:02,110 għandha ħafna ta 'livell għoli karatteristiċi, affarijiet li għandna ma 19 00:01:02,110 --> 00:01:06,600 jidher fil C matul CS50, jew Anke uħud mil-lingwi l-oħra 20 00:01:06,600 --> 00:01:09,310 li konna beda użu fil CS50 bħal PHP, 21 00:01:09,310 --> 00:01:12,670 so I am ser ikollhom jippruvaw jintroduċu wkoll xi suġġetti li 22 00:01:12,670 --> 00:01:18,580 huma relatati ma 'lingwi ta' livell ogħla li inti ma tistax tara fil-fond fil CS50, 23 00:01:18,580 --> 00:01:21,380 imma se tara fil aktar tard klassijiet tax-xjenza tal-kompjuter. 24 00:01:21,380 --> 00:01:25,290 Allura li għaddej biex tkun sewwa siegħa ippakkjat. 25 00:01:25,290 --> 00:01:28,897 U jekk jogħġbok tħossok liberu li let me taf jekk għandek xi mistoqsijiet. 26 00:01:28,897 --> 00:01:30,730 Mela jekk int interessat meta jagħmlu iżvilupp 27 00:01:30,730 --> 00:01:34,442 ma Swift, jew verament kwalunkwe żvilupp app IOS, 28 00:01:34,442 --> 00:01:35,900 hemm koppja ta 'rekwiżiti. 29 00:01:35,900 --> 00:01:39,940 L-ewwelnett, inti għandek tkun tuża Mac, tmexxija fl-eżempji 30 00:01:39,940 --> 00:01:43,880 li aħna se tkun qed tuża llum, verżjoni relattivament ġdida ta 'OS 31 00:01:43,880 --> 00:01:46,580 X. F'dan il-każ, niġri X 10.5. 32 00:01:46,580 --> 00:01:48,600 Inti tista 'tkun qed taħdem 10.11 jekk inti tixtieq. 33 00:01:48,600 --> 00:01:52,430 Imma dak kollu li int ser tara qed jinvolvi Xcode 7 u wara, 34 00:01:52,430 --> 00:01:56,271 li għandu l-aħħar verżjoni tal Swift, li huwa Swift 2.0. 35 00:01:56,271 --> 00:01:58,270 Dan huwa attwalment pretty distinzjoni importanti. 36 00:01:58,270 --> 00:02:01,510 A lott ta 'l-sintassi għandha inbidlu b'mod sinifikanti pretty 37 00:02:01,510 --> 00:02:05,890 f'xi każijiet minn Swift 1.0, li kien rilaxxat aħħar sena, 38 00:02:05,890 --> 00:02:08,514 li Swift 2.0, li biss ħareġ dan it-tnaqqis. 39 00:02:08,514 --> 00:02:09,889 Allura aħna qed tmur biex juru Swift 2.0. 40 00:02:09,889 --> 00:02:13,020 A lott ta 'l-affarijiet li inti tfittex għall-onlajn 41 00:02:13,020 --> 00:02:18,040 meta inti qed tipprova tikseb addizzjonali informazzjoni dwar varjetà ta 'affarijiet, 42 00:02:18,040 --> 00:02:20,710 inti tista 'tixtieq li espliċitament tfittxija għal Swift 2 43 00:02:20,710 --> 00:02:24,950 aktar milli Swift biss sempliċi qodma li jagħmlu żgur li tikseb l-sintassi korretta. 44 00:02:24,950 --> 00:02:26,920 >> Fil-fatt, dan huwa veru b'mod ġenerali. 45 00:02:26,920 --> 00:02:31,210 Hemm ammont rapidu ta 'żvilupp jiġri fil-lingwa Swift 46 00:02:31,210 --> 00:02:35,110 qatt peress Apple rilaxxati lilha, I think dak, huwa kien ftit iktar minn sena 47 00:02:35,110 --> 00:02:36,370 issa. 48 00:02:36,370 --> 00:02:39,080 U affarijiet inbidlu drammatiku f'dak iż-żmien. 49 00:02:39,080 --> 00:02:42,160 U sabiex ma jkun frustrat jekk, meta inti qed tfittex madwar 50 00:02:42,160 --> 00:02:48,310 għal suġġetti fuq Swift jew kif twettaq xi ħaġa li jużaw xi kodiċi eżempju 51 00:02:48,310 --> 00:02:51,210 jew xi ħaġa li ma attwalment jaħdmu fuq Swift 2.0. 52 00:02:51,210 --> 00:02:53,790 Kun żgur li int qed tfittex speċifikament għal dik il-verżjoni 53 00:02:53,790 --> 00:02:58,690 biex jippruvaw jimminimizzaw effetti ta 'differenti Verżjonijiet u dawn it-tipi ta 'affarijiet. 54 00:02:58,690 --> 00:03:02,470 >> I ser jippruvaw li jiġi rrilevat biss xi affarijiet li huma differenti minn verżjonijiet anzjani. 55 00:03:02,470 --> 00:03:03,970 Imma hija xi ħaġa li toqgħod attent għalihom. 56 00:03:03,970 --> 00:03:06,770 Li probabbilment se tkun wieħed mill-ras akbar 57 00:03:06,770 --> 00:03:11,010 li inti ser ikollok ma 'Swift huwa konstatazzjoni Eżempju kodiċi li huwa anzjani, anki sempliċement 58 00:03:11,010 --> 00:03:14,050 bi ftit xhur, jippruvaw jużaw fil-proġett tiegħek aktar moderni. 59 00:03:14,050 --> 00:03:15,430 U hija biss sempliċement ma taħdimx. 60 00:03:15,430 --> 00:03:18,530 Int jkollna żbalji kompilatur, sintassi żbalji, kull xorta ta 'għalf crazy. 61 00:03:18,530 --> 00:03:21,580 Hekk biss tkun pazjent ma li, u int se nisperaw 62 00:03:21,580 --> 00:03:24,200 jkollhom esperjenza pretty sbieħ ma globali Swift. 63 00:03:24,200 --> 00:03:28,430 >> Issa inti tista 'attwalment join-- u nispera għandna attwalment xorta jkollhom dan dan year-- 64 00:03:28,430 --> 00:03:30,910 Apple app CS 50 ta tim ta 'żvilupp, li 65 00:03:30,910 --> 00:03:34,680 se jippermetti li inti twaħħal kwalunkwe apps li inti toħloq fuq apparat IOS tiegħek. 66 00:03:34,680 --> 00:03:39,190 Allura tagħti ħarsa lejn dan il-URL jekk inti interessat li jagħmlu dan. 67 00:03:39,190 --> 00:03:41,450 >> Hekk biss ftit affarijiet dwar Swift innifsu. 68 00:03:41,450 --> 00:03:43,580 Hija lingwa ikkumpilata. 69 00:03:43,580 --> 00:03:45,870 Imma se tara li xi mill-karatteristiċi li nużaw 70 00:03:45,870 --> 00:03:50,650 jippermettu li din tkun użata wkoll daqsxejn bħal interpretat b'mod ukoll. 71 00:03:50,650 --> 00:03:56,350 >> A lott ta 'l-sintassi hija mislufa minn C. Huwa bbażat u miktub C. 72 00:03:56,350 --> 00:04:00,400 U hekk aħna se tara li hemm ħafna ta 'takeaways 73 00:04:00,400 --> 00:04:04,450 mill-għarfien eżistenti tiegħek minn C li nistgħu port li Swift. 74 00:04:04,450 --> 00:04:07,290 >> Iżda hemm affarijiet li jagħmilha differenti ħafna minn C. 75 00:04:07,290 --> 00:04:08,860 Huwa ittajpjat b'mod qawwi ħafna. 76 00:04:08,860 --> 00:04:10,380 Hemm ġestjoni memorja awtomatiku. 77 00:04:10,380 --> 00:04:13,170 Int mhux se jkollhom użu malloc jew kullimkien b'xejn. 78 00:04:13,170 --> 00:04:15,110 Hija maħsuba għall-ġeneralità. 79 00:04:15,110 --> 00:04:19,480 Allura fi kliem ieħor, inti tista 'tuża fil kull xorta ta 'kuntesti, minn Apple Watch 80 00:04:19,480 --> 00:04:26,290 li iPhone it-triq kollha sa l-OS X, u anki xi servers, anki xi scripting. 81 00:04:26,290 --> 00:04:28,400 Iżda aħna ser tara li l- appoġġ għall-kitba 82 00:04:28,400 --> 00:04:31,360 mhux daqshekk wasalniex bħala huwa f'lingwi oħra. 83 00:04:31,360 --> 00:04:34,930 Allura l-aktar probabbli inti ser tkun qed tuża dan esklussivament għall-iżvilupp 84 00:04:34,930 --> 00:04:37,060 fuq Mac tiegħek jew iPhone tiegħek. 85 00:04:37,060 --> 00:04:40,150 >> U għandu ħafna karatteristiċi moderna. 86 00:04:40,150 --> 00:04:43,380 U ħafna dawn l-affarijiet huma għalf li aħna qed tmur biex tipprova tindirizza llum, 87 00:04:43,380 --> 00:04:47,590 iżda wkoll suġġetti tagħna li franchement, nistgħu jiddedikaw korsijiet kollha. 88 00:04:47,590 --> 00:04:50,140 Fil-fatt, CS 51, li hija offruti semestru li jmiss, 89 00:04:50,140 --> 00:04:53,990 jiffoka ħafna fuq dawn is-suġġetti li huma deskritti hawn taħt. 90 00:04:53,990 --> 00:04:56,781 Allura inti tista 'tonfoq semestru kollu ftehim ta 'dawn l-affarijiet. 91 00:04:56,781 --> 00:04:58,530 Iżda aħna qed tmur biex tipprova biex tikseb permezz tagħhom 92 00:04:58,530 --> 00:05:00,800 mill-inqas biżżejjed li inti jista 'jifhem x'hemm 93 00:05:00,800 --> 00:05:03,700 għaddej meta inti tħares fi programm Swift 94 00:05:03,700 --> 00:05:07,310 u tkun tista 'Hack tiegħek mod permezz ta 'dan għall-proġett finali. 95 00:05:07,310 --> 00:05:10,780 >> Issa wieħed mill-aħjar modi li inti tista ' tinkiseb informazzjoni addizzjonali dwar dan 96 00:05:10,780 --> 00:05:14,700 huwa franchement biss permezz Apple provduta dokumentazzjoni għall Swift. 97 00:05:14,700 --> 00:05:16,930 Hemm ħafna ta 'APIs li huma disponibbli. 98 00:05:16,930 --> 00:05:21,170 U dan huwa bażi ta 'residenza tajba għalik biex tfittex, affarijiet speċifiċi li inti 99 00:05:21,170 --> 00:05:23,020 trid tagħmel ma 'API tinvolvi IOS. 100 00:05:23,020 --> 00:05:26,350 Jekk inti tixtieq li tuża l-kamera għall eżempju, inti tista 'tibda tfittex hawn, 101 00:05:26,350 --> 00:05:32,540 u wkoll jużaw Google u munzell Overflow kif inti normalment. 102 00:05:32,540 --> 00:05:36,670 >> Kwalunkwe mistoqsijiet dwar dan qabel we jaqbżu dritt? 103 00:05:36,670 --> 00:05:37,880 Kull dritt. 104 00:05:37,880 --> 00:05:38,700 Ejja jimxu fuq. 105 00:05:38,700 --> 00:05:42,620 >> Allura l-ewwel, I jkollhom Numru ta 'eżempju fajls. 106 00:05:42,620 --> 00:05:46,040 U jien ser jippruvaw pass permezz tagħhom relattivament malajr. 107 00:05:46,040 --> 00:05:49,190 Dan huwa l-fajl Hello World għall Swift. 108 00:05:49,190 --> 00:05:51,050 Huwa sempliċi ħafna. 109 00:05:51,050 --> 00:05:54,360 Hemm mod aktar kummenti minn hemm kodiċi attwali. 110 00:05:54,360 --> 00:05:57,100 Avviż tal-kodiċi attwali huwa fil -qiegħ nett fuq il-linja 14. 111 00:05:57,100 --> 00:05:57,980 Hija tgħid print. 112 00:05:57,980 --> 00:05:59,820 U allura huwa sejħa funzjoni. 113 00:05:59,820 --> 00:06:03,010 Aħna qed tgħaddi ġol hu string imsejjaħ CS50 Hello. 114 00:06:03,010 --> 00:06:04,750 Avviż li hemm l-ebda semicolons. 115 00:06:04,750 --> 00:06:07,010 Avviż li hemm l-ebda ewlenija int. 116 00:06:07,010 --> 00:06:10,392 Hemm l-ebda cruft li kellna ma 'C. 117 00:06:10,392 --> 00:06:15,020 Meta aħna qed jużaw Swift b'dan il-mod, li huwa biss miktuba fil-fajl test 118 00:06:15,020 --> 00:06:18,340 u maħżuna fuq il-kompjuter tiegħi, imbagħad I tista josservawha u run. 119 00:06:18,340 --> 00:06:20,920 >> Avviż li hawn jien ma jużawx l-IDE CS50. 120 00:06:20,920 --> 00:06:24,460 Dan jassumi li jiena tmexxija u li jien fuq OS X, 121 00:06:24,460 --> 00:06:27,870 u li jien Xcode diġà installat fuq din il-magna sabiex dan 122 00:06:27,870 --> 00:06:29,080 li attwalment funzjoni. 123 00:06:29,080 --> 00:06:33,349 Iżda din hija biss test fajl normali li nistgħu mbagħad tiġbor u jeditjaw. 124 00:06:33,349 --> 00:06:34,890 Mela ejja ara kif dan attwalment xogħlijiet. 125 00:06:34,890 --> 00:06:37,430 X'jiġri jekk I tixtieq li josservawha? 126 00:06:37,430 --> 00:06:40,450 1.swift swiftc. 127 00:06:40,450 --> 00:06:42,960 Wara mument jew tnejn, huwa se tara li għandna issa 128 00:06:42,960 --> 00:06:45,360 ikkumpilata dan fi fajl imsejjaħ 1. 129 00:06:45,360 --> 00:06:51,090 U issa għandna stampati CS50 tagħna, applikazzjoni tagħna Hello World pjuttost. 130 00:06:51,090 --> 00:06:54,690 >> Avviż ħaġa waħda oħra bħala tajjeb huwa li awtomatikament, 131 00:06:54,690 --> 00:07:00,090 aħna ma kellhomx input a / n li jistampaw linja ġdida. 132 00:07:00,090 --> 00:07:05,315 Konvenzjonalment, l-funzjoni tal-istampar fil Swift se print linja ġdida għalik. 133 00:07:05,315 --> 00:07:09,284 Inti tista 'tgħaddi addizzjonali fakultattiv parametru li tgħid li ma jagħmlux hekk. 134 00:07:09,284 --> 00:07:10,950 Iżda Google għal aktar informazzjoni fuq dan. 135 00:07:10,950 --> 00:07:13,450 Permezz ta 'default, hija se tagħmel il-linja istampar. 136 00:07:13,450 --> 00:07:16,420 >> Kull dritt, so ejja jimxu fuq imbagħad xi affarijiet oħra. 137 00:07:16,420 --> 00:07:18,620 Allura kif nistgħu attwalment tiddefinixxi varjabbli? 138 00:07:18,620 --> 00:07:21,960 Nistgħu nagħmlu dan huwa użu wieħed miż-żewġ metodi. 139 00:07:21,960 --> 00:07:26,122 U l-wieħed li nixtieq li jgħidlek dwar l-ewwel hija din id-definizzjoni let. 140 00:07:26,122 --> 00:07:27,830 U dan huwa importanti minħabba effettiv 141 00:07:27,830 --> 00:07:30,240 dak li aħna qed tagħmel huwa li tiddefinixxi kostanti. 142 00:07:30,240 --> 00:07:34,010 Aħna ser joħolqu varjabbli, jew pjuttost imsejħa isem kostanti, 143 00:07:34,010 --> 00:07:38,200 jipprovdu għaliha xi data-- fil F'dan il-każ, l-sekwenza Dan. 144 00:07:38,200 --> 00:07:40,630 Iżda billi tuża din let keyword, aħna qed jgħidu 145 00:07:40,630 --> 00:07:43,860 li din variable-- jew għal darb'oħra constant-- imsejħa 146 00:07:43,860 --> 00:07:46,220 isem huwa qatt se jinbidlu. 147 00:07:46,220 --> 00:07:50,120 Huwa ser tkun immutabbli matul it-tul ta 'dan il-programm 148 00:07:50,120 --> 00:07:53,100 jew matul il- tul tal-kuntest 149 00:07:53,100 --> 00:07:55,390 li dak il-varjabbli hija disponibbli. 150 00:07:55,390 --> 00:08:00,096 >> Dan huwa verament importanti li meta ikollok xi data li mhix 151 00:08:00,096 --> 00:08:02,970 se jibdlu fil-programm tiegħek, u tkun taf tara varjetà ta 'eżempji 152 00:08:02,970 --> 00:08:06,790 dwar meta irridu li jużaw let kontra l-sintassi oħra, 153 00:08:06,790 --> 00:08:11,040 huwa importanti li inti tuża let kull meta jkun possibbli minħabba li dan tgħarraf 154 00:08:11,040 --> 00:08:13,740 il-lingwa li huwa mhux se jinbidlu, 155 00:08:13,740 --> 00:08:16,590 u din tista 'attwalment twettaq ħafna ta 'optimizations 156 00:08:16,590 --> 00:08:19,560 biex itejbu l-veloċità u is-sigurtà tal-programm tiegħek. 157 00:08:19,560 --> 00:08:24,480 U mill sikurezza, I tfisser Tħallix dan tiġrifa bi żbalji crazy 158 00:08:24,480 --> 00:08:27,910 li aħna jista 'jkun mdorri jara fil C. 159 00:08:27,910 --> 00:08:32,460 >> Imbagħad nistgħu nużaw interpolazzjoni string li jirrappreżentaw din fi string. 160 00:08:32,460 --> 00:08:35,200 Allura nistgħu naraw f'dan linja istampar, istampar hello, 161 00:08:35,200 --> 00:08:38,950 u mbagħad tuża backslash parens miftuħa, u allura l-isem ta 'varjabbli tiegħi, 162 00:08:38,950 --> 00:08:41,809 f'dan il-każ kostanti, tagħlaq il-parentesi. 163 00:08:41,809 --> 00:08:46,400 Jien essenzjalment allura tqegħid tal- kontenut ta 'dan il-varjabbli imsejħa isem 164 00:08:46,400 --> 00:08:50,240 ġewwa tas-sekwenza u mbagħad istampar ir-riżultat hemmhekk. 165 00:08:50,240 --> 00:08:54,070 >> Hemm bidla ieħor għal dan il-fajl li huwa li għandi, fil-quċċata ħafna, 166 00:08:54,070 --> 00:08:57,340 jitqiegħdu fil-linja shebang, li bażikament biss jispeċifika 167 00:08:57,340 --> 00:09:00,180 li nixtieq li jużaw il- Interpretu Swift, li 168 00:09:00,180 --> 00:09:04,190 ifisser li jien m'għadx għandhom jiġbor dan il-programm partikolari. 169 00:09:04,190 --> 00:09:06,567 I tista 'biss run bħal iskrittura tagħha stess. 170 00:09:06,567 --> 00:09:09,400 Iżda dan huwa, f'dan il-każ, wara l-kwinti tkun miġbura u mbagħad 171 00:09:09,400 --> 00:09:10,030 qed titmexxa. 172 00:09:10,030 --> 00:09:13,540 Huwa biss inviżibbli lilna. 173 00:09:13,540 --> 00:09:15,880 >> Kull dritt, so ejja jimxu fuq. 174 00:09:15,880 --> 00:09:19,650 Allura hemm daqsxejn ta 'trickery li ġara biss qabel. 175 00:09:19,650 --> 00:09:23,230 I wera inti li jien jistgħu jiddefinixxu kostanti. 176 00:09:23,230 --> 00:09:25,490 UI jista 'jipprovdi xi data biex tagħmel dan. 177 00:09:25,490 --> 00:09:29,240 Iżda f'dan il-każ, l-avviż li jien ma attwalment jispeċifikaw it-tip ta 'data 178 00:09:29,240 --> 00:09:29,820 li huwa. 179 00:09:29,820 --> 00:09:32,780 U dan għaliex l- kompilatur, Swift jista 180 00:09:32,780 --> 00:09:36,910 jiddeduċu it-tip ta 'data biss ibbażat fuq id-data li I jitqiegħed fis dan. 181 00:09:36,910 --> 00:09:41,760 Għaliex taf li billi jevalwa din varjabbli dritt hawn, dan id-dritt data 182 00:09:41,760 --> 00:09:43,370 hawn, huwa jaf li huwa string. 183 00:09:43,370 --> 00:09:48,690 U hekk dan l-isem kostanti huwa għalhekk se tkun string kif ukoll. 184 00:09:48,690 --> 00:09:52,730 >> Iżda aħna tista 'wkoll tkun espliċita dwar it-tip li l- 185 00:09:52,730 --> 00:09:55,790 aħna ser tuża għall kostanti jew varjabbli 186 00:09:55,790 --> 00:10:01,590 billi tuża din sintassi instead-- let String isem kolon ugwali 187 00:10:01,590 --> 00:10:05,530 Dan, li f'dan il-każ ifisser li aħna qed ser jiddefinixxu imsejħa isem kostanti. 188 00:10:05,530 --> 00:10:07,150 Li għaddej biex tkun tat String tip. 189 00:10:07,150 --> 00:10:10,550 U l-valur se tkun Dan. 190 00:10:10,550 --> 00:10:12,550 Issa l-mod ieħor li nistgħu noħolqu variables-- 191 00:10:12,550 --> 00:10:15,549 u dawn huma varjabbli mutable, li ifisser li aħna, fil-fatt, tmur 192 00:10:15,549 --> 00:10:19,670 li jibdlu l-kontenut tagħhom f'xi fid-dewmien tal-kuntest 193 00:10:19,670 --> 00:10:23,890 li dak il-varjabbli hija defined-- aħna tuża l-keyword var minflok let. 194 00:10:23,890 --> 00:10:27,400 Iżda għal darb'oħra, awtomatikament, sakemm inti taf li għandek bżonn biex jimmanipulaw li d-data, 195 00:10:27,400 --> 00:10:30,510 jippruvaw jużaw let għall titjib fil-prestazzjoni. 196 00:10:30,510 --> 00:10:33,740 >> F'dan il-każ, I jistgħu mbagħad jispeċifikaw it-tip ta 'data 197 00:10:33,740 --> 00:10:37,650 li nistennew li jkun ġewwa ta dan il-varjabbli ġdida msejħa tikketta. 198 00:10:37,650 --> 00:10:38,800 Huwa ser tkun string. 199 00:10:38,800 --> 00:10:43,030 U aħna qed tmur biex imbagħad concatenate żewġ kordi flimkien,-sekwenza hello, 200 00:10:43,030 --> 00:10:48,070 u l-sekwenza rappreżentata mill- varjabbli, jew pjuttost l-isem kostanti. 201 00:10:48,070 --> 00:10:50,660 >> Allura dan huwa sbieħ għaliex din huwa kemmxejn PHP bħal li aħna 202 00:10:50,660 --> 00:10:52,250 jkollhom konkatenazzjoni sekwenza faċli ħafna. 203 00:10:52,250 --> 00:10:56,350 Aħna ma jkollhom awtomatikament tuża kwalunkwe tip ta 'ġestjoni tal-memorja 204 00:10:56,350 --> 00:11:00,580 li jiżdied id-daqs u jagħmlu kwalunkwe tip ta 'affarijiet umoristiċi hemmhekk. 205 00:11:00,580 --> 00:11:05,040 Dan jaħdem kif aħna fil-fatt jistennew. 206 00:11:05,040 --> 00:11:09,370 >> Dritt kollox, xi mistoqsijiet dwar dan? 207 00:11:09,370 --> 00:11:12,520 >> Issa l-raġuni oħra li għandna bżonn li inti għandek il-ħila 208 00:11:12,520 --> 00:11:15,490 biex ikunu jistgħu jiddefinixxu dak tip ta 'varjabbli tad-data huma 209 00:11:15,490 --> 00:11:18,170 huwa għaliex kultant aħna ma tixtieq li initialize varjabbli 210 00:11:18,170 --> 00:11:21,080 ma 'xi data fil- punt ta 'definizzjoni. 211 00:11:21,080 --> 00:11:23,500 Allura f'dan il-każ, ejja ngħidu li nixtieq li jibdew inputjar 212 00:11:23,500 --> 00:11:25,040 xi gradi ġo ktieb grad. 213 00:11:25,040 --> 00:11:27,530 Well I know li wieħed mill- varjabbli li nixtieq li jkun 214 00:11:27,530 --> 00:11:30,280 se tkun grad mutable. 215 00:11:30,280 --> 00:11:33,010 U aħna nafu wkoll li aħna jixtiequ li din tkun numru sħiħ. 216 00:11:33,010 --> 00:11:36,030 Imma forsi aħna ma għadhom jkollhom dak il-grad disponibbli. 217 00:11:36,030 --> 00:11:39,570 >> Fil Swift, inti għandek jiddefinixxu t-tip ta 'data 218 00:11:39,570 --> 00:11:44,000 li huwa assoċjat ma ' varjabbli jew kostanti let 219 00:11:44,000 --> 00:11:47,840 Qabel ma inti tista 'attwalment jużaw dik varjabbli. 220 00:11:47,840 --> 00:11:51,170 Minħabba li hu ittajpjat b'mod qawwi, inti għandek tiġi assoċjata ma 'tip 221 00:11:51,170 --> 00:11:52,890 ma dawn il-varjabbli. 222 00:11:52,890 --> 00:11:56,120 >> Allura f'dan il-każ, jekk stajt weriex kif inhu xieraq initialized l-ewwel ma 'xi valur, 223 00:11:56,120 --> 00:12:00,520 imbagħad I trid tghid Swift dak Nistenna dejta tat-tip li jkun. 224 00:12:00,520 --> 00:12:02,650 U li għaddej biex jibqgħu dik l-istess tip ta 'dejta 225 00:12:02,650 --> 00:12:05,780 matul l-istorja ta 'dan il-programm. 226 00:12:05,780 --> 00:12:10,050 >> Issa inti jista 'jitħajjar aktar fis I ħolqu dan il-varjabbli ta 'grad 227 00:12:10,050 --> 00:12:13,530 u sakemm l numru sħiħ ta '100, issa jekk I 228 00:12:13,530 --> 00:12:18,540 jridu jippruvaw li concatenate string ma 'dak numru sħiħ, 229 00:12:18,540 --> 00:12:21,610 jista 'jitħajjar għadhom jużaw dak l-operatur konkatenazzjoni sekwenza 230 00:12:21,610 --> 00:12:24,500 bħal għamilna biss ftit linji qabel. 231 00:12:24,500 --> 00:12:26,460 Iżda sfortunatament, dan se attwalment mhux 232 00:12:26,460 --> 00:12:29,270 xogħol, għax inti essenzjalment jwettqu 233 00:12:29,270 --> 00:12:32,380 operazzjoni fuq żewġ tipi differenti. 234 00:12:32,380 --> 00:12:36,856 >> Issa dan huwa differenti ħafna minn xulxin lingwi bħal PHP li huma verament 235 00:12:36,856 --> 00:12:38,480 goosey loosey ma tip tagħhom ta 'tipi. 236 00:12:38,480 --> 00:12:40,030 Huma qed biss simili, yeah, tkun xi tkun, I do not care. 237 00:12:40,030 --> 00:12:42,710 Just tagħti me tip wieħed, u forsi I ser tagħmel l-aħjar ħaġa. 238 00:12:42,710 --> 00:12:46,060 >> F'dan il-każ, Swift huwa estremament stretta dwar it-tipi 239 00:12:46,060 --> 00:12:47,350 li inti qed jittrattaw. 240 00:12:47,350 --> 00:12:50,700 Dan l-operatur għadd totali jew operatur konkatenazzjoni 241 00:12:50,700 --> 00:12:54,400 għandha essenzjalment koppja ta ' għażliet possibbli differenti. 242 00:12:54,400 --> 00:12:56,970 Tista 'tagħmel għadd totali ma interi, jew inti 243 00:12:56,970 --> 00:13:00,870 tista 'tagħmel konkatenazzjoni sekwenza, u forsi xi affarijiet oħrajn ukoll. 244 00:13:00,870 --> 00:13:05,550 Iżda jekk dak l-operatur ma tirrikonoxxix x'hemm fuq kull naħa ta 'dan, 245 00:13:05,550 --> 00:13:10,452 jew pjuttost il-kombinazzjoni ta 'dawk żewġ tipi, mhuwiex dak huwa jistennew, 246 00:13:10,452 --> 00:13:11,910 allura huwa għaddej biex jikkawża ħsara. 247 00:13:11,910 --> 00:13:16,690 >> Allura f'dan il-każ, xi jfisser li jkollhom string flimkien ma 'numru sħiħ? 248 00:13:16,690 --> 00:13:18,880 Ukoll fil-kuntest ta ' dan, aħna probabilment jridu 249 00:13:18,880 --> 00:13:21,990 tagħmel operazzjoni konkatenazzjoni sekwenza. 250 00:13:21,990 --> 00:13:26,420 Iżda naturalment il-kompjuter ma jkollux dik it-tip ta 'kuntest. 251 00:13:26,420 --> 00:13:29,950 U għalhekk għandna bżonn li jipprovdu dik l-informazzjoni addizzjonali 252 00:13:29,950 --> 00:13:32,390 biex jgħarrfu dak li hija li rridu nagħmlu. 253 00:13:32,390 --> 00:13:36,860 >> Allura fi kliem ieħor, il-fatt li Swift hu ittajpjat b'mod qawwi 254 00:13:36,860 --> 00:13:39,520 ifisser li inti għandek tagħmel ftit ta 'xogħol addizzjonali 255 00:13:39,520 --> 00:13:42,100 biex tiksbu biex jopera l- mod li inti tixtieq. 256 00:13:42,100 --> 00:13:43,710 Iżda bħala riżultat, huwa aktar sikur. 257 00:13:43,710 --> 00:13:46,290 U ladarba inti għandek tieħu li tqiesu dawk it-tipi, 258 00:13:46,290 --> 00:13:49,300 affarijiet biss franchement jibdew biex jaħdmu pretty ukoll. 259 00:13:49,300 --> 00:13:52,520 >> Allura f'dan il-każ, aħna mbagħad se iwettqu konkatenazzjoni sekwenza 260 00:13:52,520 --> 00:13:56,040 mill-ikkastjar espliċitu n-numru sħiħ li string 261 00:13:56,040 --> 00:13:58,490 billi tgeżwir f'dan kapital S String funzjoni, 262 00:13:58,490 --> 00:14:03,510 u mbagħad tuża l-konkatenazzjoni sekwenza operatur li jimmodifika varjabbli tikketta tagħna, 263 00:14:03,510 --> 00:14:06,280 u mbagħad print out. 264 00:14:06,280 --> 00:14:08,420 >> S'issa, hekk tajjeb? 265 00:14:08,420 --> 00:14:12,020 Kull dritt, ejja jimxu fuq. 266 00:14:12,020 --> 00:14:16,300 >> Issa hemm varjetà ta 'data tipi li nistgħu nużaw fil Swift. 267 00:14:16,300 --> 00:14:21,620 Kif inti jkollhom jidraw, nistgħu noħolqu firxa mutable. 268 00:14:21,620 --> 00:14:26,140 U li firxa tista 'biss fihom tip wieħed. 269 00:14:26,140 --> 00:14:30,360 >> Allura f'dan il-każ, aħna qed tmur biex joħolqu a arrays mutable tan-numri interi, li 270 00:14:30,360 --> 00:14:34,800 aħna se sejħa gradi, u se nkunu kapaċi li jaħżen li f'dan bracket kwadru 271 00:14:34,800 --> 00:14:38,650 format kif inti ħadthom imkabbra mdorri li fil-varjetà ta 'lingwi oħra. 272 00:14:38,650 --> 00:14:41,150 Iżda avviż li hawn aħna qed tiddefinixxi ftit affarijiet. 273 00:14:41,150 --> 00:14:45,350 gradi hija variable-- mutable aħna ma tuża l-keyword let. 274 00:14:45,350 --> 00:14:49,620 Allura dan ifisser li nistgħu mbagħad timmodifika il-kontenut ta 'din array. 275 00:14:49,620 --> 00:14:53,420 Huwa ta 'Int Array tip, u aħna tista 'tgħid li 276 00:14:53,420 --> 00:14:56,260 ibbażati fuq dawn parentesi kwadri hawn. 277 00:14:56,260 --> 00:14:58,930 >> Issa waħda mill-affarijiet sbieħ dwar dan hija li aħna 278 00:14:58,930 --> 00:15:02,310 ikollhom aċċess għal lott ta ' informazzjoni addizzjonali 279 00:15:02,310 --> 00:15:07,110 dwar il-firxa biss bl-użu xi sempliċi dot notazzjoni. 280 00:15:07,110 --> 00:15:10,500 Hekk per eżempju, grades.count jipprovdi lilna 281 00:15:10,500 --> 00:15:14,820 in-numru ta 'oġġetti li jeżistu f'dak array, li aħna mbagħad tista 'aċċess pretty 282 00:15:14,820 --> 00:15:19,090 faċilment sempliċement jużaw dan dot notazzjoni. 283 00:15:19,090 --> 00:15:21,830 >> Jekk tixtieq iżżid addizzjonali oġġetti għal dan array, 284 00:15:21,830 --> 00:15:27,220 inti ma tistax tagħmel l-istil PHP fejn inti biss jiddefinixxu b'mod espliċitu, 285 00:15:27,220 --> 00:15:30,910 fi indiċi speċifika, xi valur li inti tixtieq li daħħal. 286 00:15:30,910 --> 00:15:37,210 Minflok, uża l-tehmeż Metodu fit-tip array 287 00:15:37,210 --> 00:15:40,920 li tehmeż dik il-partita, 95, din il-lista. 288 00:15:40,920 --> 00:15:45,990 >> Allura issa dan array għandha dawn li ġejjin contents-- 100, 0, 90, 85. 289 00:15:45,990 --> 00:15:49,270 U issa konna mehmuża 95 għal dak ukoll. 290 00:15:49,270 --> 00:15:51,830 >> Hemm modi oħra nistgħu tehmeż affarijiet. 291 00:15:51,830 --> 00:15:55,030 Inti tista 'attwalment tuża operatur kalkolu totali, 292 00:15:55,030 --> 00:15:59,200 li se jiġu interpretati bħala operazzjoni tehmeż firxa. 293 00:15:59,200 --> 00:16:04,680 U inti tista 'mbagħad tehmeż ieħor firxa, li l-kontenut huma 70 u 80, 294 00:16:04,680 --> 00:16:05,560 għal dak array. 295 00:16:05,560 --> 00:16:08,250 Allura issa għandna l- kontenut f'dan il-varjabbli 296 00:16:08,250 --> 00:16:17,220 grades-- 100, 0, 90, 85, 95, 70, u 80. 297 00:16:17,220 --> 00:16:21,850 Dan huwa biss sintattika ftit sbieħ zokkor li Swift jipprovdi lilna. 298 00:16:21,850 --> 00:16:23,850 >> Mela jekk irridu li l-qosor gradi, aħna qed forsi 299 00:16:23,850 --> 00:16:27,340 tmur jridu jtenni fuq kull oġġett f'dan loop. 300 00:16:27,340 --> 00:16:32,150 U aħna do jkollhom, fil Swift, il-kunċett ta 'għall loop kif tista' tistenna. 301 00:16:32,150 --> 00:16:35,350 Iżda l-mod li aħna jindikaw firxa hija kemmxejn differenti. 302 00:16:35,350 --> 00:16:37,790 Allura f'dan il-każ, li Fil-qosor dak kollu, aħna ser 303 00:16:37,790 --> 00:16:40,650 se toħloq temporanju imsejħa somma varjabbli sabiex għalina 304 00:16:40,650 --> 00:16:42,580 li żżomm din l-għadd. 305 00:16:42,580 --> 00:16:44,430 >> U avviż għall tagħna kostruzzjoni loop hawn. 306 00:16:44,430 --> 00:16:46,820 Għal indiċi 0 .. 00:16:51,480 308 00:16:51,480 --> 00:16:57,390 Allura din il-kostruzzjoni, 0 .. 00:17:01,860 qal li aħna qed tmur biex joħolqu firxa ta 'numri interi minn 0 sa 310 00:17:01,860 --> 00:17:05,750 imma eskluż grades.count. 311 00:17:05,750 --> 00:17:09,577 Allura dan se jkun 0, 1, 2, 3, 4, 5, sal iżda ħafna wieħed 312 00:17:09,577 --> 00:17:10,410 qabel grades.count. 313 00:17:10,410 --> 00:17:14,160 >> Allura dan huwa differenti minn kif aħna tipikament jintużaw għal linji 314 00:17:14,160 --> 00:17:18,569 fejn inti jkollha xi indiċi varjabbli, tistabbilixxi li egwali għal 0 fl-ewwel, 315 00:17:18,569 --> 00:17:25,480 u mbagħad jintegraw li sa ċertu valur inqas mill-għadd ta 'oġġetti 316 00:17:25,480 --> 00:17:27,140 f'dak array. 317 00:17:27,140 --> 00:17:29,820 >> Allura hemm modifika għal dan, fil-fatt, 318 00:17:29,820 --> 00:17:35,010 li jippermetti li faċilment stabbiliti tipi differenti ta 'firxiet. 319 00:17:35,010 --> 00:17:40,570 Jekk tibdel din il-firxa li tliet tikek, 0 ... grade.count, 320 00:17:40,570 --> 00:17:45,120 dan jirrappreżenta range ta '0 li grades.count inklużi, 321 00:17:45,120 --> 00:17:49,260 li jfisser li dak in-numru huwa wkoll imbagħad inklużi f'dik il-firxa. 322 00:17:49,260 --> 00:17:52,110 >> Iżda din hija ferm handy għal dawn l-affarijiet eżatta, 323 00:17:52,110 --> 00:17:54,590 meta jkollna biex iwettqu iterazzjonijiet fuq loop 324 00:17:54,590 --> 00:17:59,630 minħabba li dawk indiċi huma żero indiċjati, kif rajna f'lingwi oħra 325 00:17:59,630 --> 00:18:02,360 kif ukoll. 326 00:18:02,360 --> 00:18:05,210 Kwalunkwe mistoqsijiet dwar dan għal loop? 327 00:18:05,210 --> 00:18:10,660 >> Allura hemm definizzjoni impliċitu ta 'dan il-varjabbli indiċi, 328 00:18:10,660 --> 00:18:14,350 valur li jibda 0, u tkompli f'kull iterazzjoni loop 329 00:18:14,350 --> 00:18:17,950 biex tiżdied b'1 sa punt li huwa ugwali għal grades.count, 330 00:18:17,950 --> 00:18:20,380 f'liema punt, il-linja aborts. 331 00:18:20,380 --> 00:18:23,730 >> Avviż li fil string tagħna Interpolazzjoni hawn, 332 00:18:23,730 --> 00:18:26,910 nistgħu ngħidu jwettqu xi sempliċi manipulazzjonijiet għal dawk il-valuri. 333 00:18:26,910 --> 00:18:31,230 Allura indiċi flimkien ma '1 fil-fatt se iwettqu kalkolu totali ta 'dak il-valur 334 00:18:31,230 --> 00:18:34,780 minħabba indiċi huwa, fil F'dan il-każ, integer. 335 00:18:34,780 --> 00:18:37,810 U f'dak il-punt, se mbagħad jiġi konvertit fi string 336 00:18:37,810 --> 00:18:42,230 u interpolat fis din is-sekwenza hawn, u stampata kif nistgħu nistennew. . 337 00:18:42,230 --> 00:18:44,520 >> U l-ħaġa sbieħ dwar il-arrays hawnhekk hija 338 00:18:44,520 --> 00:18:50,730 li aħna wkoll kapaċi li jkollhom Valuri fetching u l-valuri li jistabbilixxu 339 00:18:50,730 --> 00:18:54,080 bl-użu notazzjoni parentesi kwadri kif Rajna f'lingwi oħra kif ukoll. 340 00:18:54,080 --> 00:18:57,130 341 00:18:57,130 --> 00:19:01,030 >> Kull dritt, hekk minn hawn, aħna issa kkalkulata somma tagħna ta 'kollha ta' gradi tagħna. 342 00:19:01,030 --> 00:19:02,780 Issa tip tal-li jmiss pass loġiku ikun 343 00:19:02,780 --> 00:19:07,580 tagħmel operazzjoni diviżjoni li ssib l-medja ta 'dawn il-gradi. 344 00:19:07,580 --> 00:19:10,150 Imma xi ħaġa importanti hawn qed jiġri li 345 00:19:10,150 --> 00:19:15,020 hija li din is-somma hija forsi integer. 346 00:19:15,020 --> 00:19:18,020 Iżda għandna bżonn sabiex iwettaq xi tip ta 'diviżjoni doppja. 347 00:19:18,020 --> 00:19:20,600 U dan se jkun importanti ferm meta 348 00:19:20,600 --> 00:19:24,140 irridu li jwettaq din l-operazzjoni, għaliex dak li aħna qed jgħidu 349 00:19:24,140 --> 00:19:28,430 hija li għandna bżonn li fil-fatt twettaq diviżjoni fuq żewġ jirdoppja. 350 00:19:28,430 --> 00:19:31,370 U għal darb'oħra, għaliex Swift hu ittajpjat b'mod qawwi ħafna, 351 00:19:31,370 --> 00:19:36,760 irridu lesta espliċitament kollha tal- oġġetti li jirdoppja qabel we attwalment 352 00:19:36,760 --> 00:19:38,300 iwettqu dik l-operazzjoni. 353 00:19:38,300 --> 00:19:40,550 >> Allura sabiex għalina biex iwettqu diviżjoni doppja, 354 00:19:40,550 --> 00:19:43,730 mhuwiex biżżejjed għal wieħed biss ta 'dawk l-oġġetti li jkun doppju. 355 00:19:43,730 --> 00:19:46,400 Kemm minnhom għandhom ikunu ta ' double sabiex rapidu 356 00:19:46,400 --> 00:19:50,860 li jiġi żgurat li din huwa dak li rridu nagħmlu. 357 00:19:50,860 --> 00:19:54,360 Allura aħna mbagħad se typecast espliċitu is-somma li konna tinħadem hawn fuq 358 00:19:54,360 --> 00:19:58,970 u l-għadd ta 'gradi għall jirdoppja, u mbagħad iwettqu dik l-operazzjoni u jaħżnu 359 00:19:58,970 --> 00:20:02,390 li f'din il-varjabbli ġdida, jew pjuttost din il-kostanti ġdida msejħa medja, 360 00:20:02,390 --> 00:20:06,810 li se jkollhom dak it-tip, timmaġina? 361 00:20:06,810 --> 00:20:07,587 Double, yeah. 362 00:20:07,587 --> 00:20:09,420 Allura f'dan il-każ, aħna ma għandekx jispeċifika dan 363 00:20:09,420 --> 00:20:13,450 minħabba li jista 'jiġi dedott mill- operazzjoni liema tip ta 'medja tad-data 364 00:20:13,450 --> 00:20:14,730 se jkun. 365 00:20:14,730 --> 00:20:19,025 U Swift huwa ġeneralment pjuttost tajba dwar il-kapaċità li wieħed jiddeduċi t-tipi. 366 00:20:19,025 --> 00:20:22,116 367 00:20:22,116 --> 00:20:24,200 >> Do inti tixtieq li tara dan run, jew nista jimxu fuq? 368 00:20:24,200 --> 00:20:25,640 Irrid li jibqgħu għaddejjin. 369 00:20:25,640 --> 00:20:28,130 Kwalunkwe mistoqsijiet dwar xi parti minn din? 370 00:20:28,130 --> 00:20:28,630 Great. 371 00:20:28,630 --> 00:20:31,160 372 00:20:31,160 --> 00:20:35,010 >> Issa aħna qed tmur biex tibda tikseb sa il-funzjonijiet tajba jiddefinixxu stuff--, 373 00:20:35,010 --> 00:20:39,090 u l-koppja ta 'tipi oħrajn li huma unika biex Swift li int ma 374 00:20:39,090 --> 00:20:41,620 dehru f'lingwi oħra sa dan il-punt, 375 00:20:41,620 --> 00:20:46,290 iżda dawn ikunu preżenti fid-oħra lingwi li inti tista 'ssib aktar tard. 376 00:20:46,290 --> 00:20:48,210 Allura l-ewwel jekk inti tixtieq li tiddefinixxi funzjoni, 377 00:20:48,210 --> 00:20:52,170 inti tiddefinixxi bl-kelma funky funzjoni, u mbagħad l-isem funzjoni, 378 00:20:52,170 --> 00:20:56,710 u mbagħad fil-parentesi, l-argumenti li inti tixtieq li l-funzjoni li jaċċetta. 379 00:20:56,710 --> 00:21:00,280 L-argumenti għandhom ukoll specify-- generally-- 380 00:21:00,280 --> 00:21:05,010 għandu wkoll jispeċifika t-tip ta 'data li huma, sakemm ma jkunux jistgħu jiġu dedotti. 381 00:21:05,010 --> 00:21:07,500 U aħna ser tara li ftit twiddiba biss ftit. 382 00:21:07,500 --> 00:21:09,920 >> Allura f'dan il-każ għandna funzjoni msejħa printGradeCount. 383 00:21:09,920 --> 00:21:12,840 Aħna qed tmur biex jaċċettaw variable-- jew pjuttost f'dan il-każ, 384 00:21:12,840 --> 00:21:14,450 a constant-- imsejħa gradebook. 385 00:21:14,450 --> 00:21:18,517 U se tkun ta ' tip firxa ta 'numri interi. 386 00:21:18,517 --> 00:21:20,600 Issa hemm xi ħaġa li tassew importanti hawnhekk 387 00:21:20,600 --> 00:21:21,849 li nixtieq li inti tifhem. 388 00:21:21,849 --> 00:21:27,560 Dan huwa li fil-kontumaċja, dawn l-argumenti li huma inputs għal din il-funzjoni huma 389 00:21:27,560 --> 00:21:34,380 definita bi keyword let impliċitu, li jfisser li ma nistax timmodifika din 390 00:21:34,380 --> 00:21:39,850 varjabbli gradebook hawn. 391 00:21:39,850 --> 00:21:43,360 U dik it-tip ta 'jagħmel sens, għax int tgħaddi data fil. 392 00:21:43,360 --> 00:21:45,860 U inti forsi ma jriduhom li jinbidlu minn taħt inti. 393 00:21:45,860 --> 00:21:50,800 Huwa possibbli li jsemmu espliċitament li din hija varjabbli billi 394 00:21:50,800 --> 00:21:52,070 l-keyword var hawn. 395 00:21:52,070 --> 00:21:56,832 Iżda dan huwa gotcha li konna nies ndunat għamlu fil-passat 396 00:21:56,832 --> 00:21:59,790 hija li assumew li huwa għaddej li jkun fattur varjabbli meta, fil-fatt, 397 00:21:59,790 --> 00:22:02,640 huwa kostanti. 398 00:22:02,640 --> 00:22:07,340 >> Kull dritt, hekk hawn allura, f'dan il-każ, aħna ma tispeċifikax xi tip ta 'ritorn. 399 00:22:07,340 --> 00:22:09,460 Aħna ser nuruk kif tagħmel lilek li fi ftit mument. 400 00:22:09,460 --> 00:22:12,340 Iżda avviż li hawnhekk għandna biss sempliċi jekk il-kundizzjoni. 401 00:22:12,340 --> 00:22:14,560 Jekk il-gradebook hija vojta, li f'dan il-każ 402 00:22:14,560 --> 00:22:19,310 huwa biss il-proprjetà ta 'din numru sħiħ firxa, allura aħna jistampa xi ħaġa. 403 00:22:19,310 --> 00:22:23,100 Inkella nagħmlu xi ħaġa oħra. 404 00:22:23,100 --> 00:22:25,000 >> Pretty sempliċi s'issa I think. 405 00:22:25,000 --> 00:22:27,960 Imma stop me jekk għandek xi mistoqsijiet. 406 00:22:27,960 --> 00:22:33,350 >> Issa din il-funzjoni, medja, tieħu wkoll xi argumenti, jew pjuttost argument wieħed, 407 00:22:33,350 --> 00:22:37,507 li hija l-gradebook, u dan iż-żmien se jirritorna tip doppja. 408 00:22:37,507 --> 00:22:39,340 Minħabba li qed ikejjel il-medja u huwa 409 00:22:39,340 --> 00:22:45,010 ser fil-fatt jirritornaw li medju maħdum għall-linja li qed issejjaħ. 410 00:22:45,010 --> 00:22:50,070 >> F'dan il-każ, aħna speċifika l- ritorn tip wara vleġġa. 411 00:22:50,070 --> 00:22:53,260 U dan jista 'jħossu tip ta 'stramb fl-ewwel. 412 00:22:53,260 --> 00:22:55,610 You ħadthom imkabbra mdorri biex jiġu stabbiliti r-ritorn 413 00:22:55,610 --> 00:22:57,720 tip qabel l-isem tal-funzjoni. 414 00:22:57,720 --> 00:23:00,310 Imma jekk inti taħseb ta 'dan f'termini tal-matematika, 415 00:23:00,310 --> 00:23:03,320 bħal meta jkollok matematika li jiddefinixxu funzjoni, 416 00:23:03,320 --> 00:23:06,807 għandek funzjoni ma 'xi inputs, u jipproduċi output. 417 00:23:06,807 --> 00:23:08,890 U dan huwa eżattament dak li dan suppost biex jimitaw. 418 00:23:08,890 --> 00:23:12,460 U hemm ftit lingwi oħra li għandhom sintassi simili kif ukoll, 419 00:23:12,460 --> 00:23:15,674 iżda probabbilment xejn li inti stajt tidher fl CS50. 420 00:23:15,674 --> 00:23:17,090 Iżda xorta ma jkun konfuż minnha. 421 00:23:17,090 --> 00:23:21,650 Il-vleġġa jfisser dak li qed jiġri jingħataw lura f'dan il-każ. 422 00:23:21,650 --> 00:23:23,650 OK, hekk kif ser nieħdu biex tiġi kkalkulata din il-medja? 423 00:23:23,650 --> 00:23:25,649 Ukoll, jekk il gradebook huwa vojt, tajjeb allura aħna qed 424 00:23:25,649 --> 00:23:30,731 ser jirritorna 0, li forsi mod raġonevoli biex jittratta din. 425 00:23:30,731 --> 00:23:32,980 I do not know, ejja come lura għal dak fil ftit. 426 00:23:32,980 --> 00:23:34,688 Dan jista 'effettivament ma tkun mod raġonevoli 427 00:23:34,688 --> 00:23:38,310 biex tiġi kkalkulata l-medja jekk għandna gradebook vojta. 428 00:23:38,310 --> 00:23:41,260 >> Imbagħad aħna ser biss iwettqu għadd totali tagħna. 429 00:23:41,260 --> 00:23:43,900 Avviż li hawn għandna attwalment jkollhom verżjoni supplenti ta ' 430 00:23:43,900 --> 00:23:49,190 għal loop, li jippermetti li jtenni fuq kull oġġett uniku fil-firxa 431 00:23:49,190 --> 00:23:53,630 u l-post kull element fis varjabbli tagħha stess. 432 00:23:53,630 --> 00:23:56,200 Billi jiġi speċifikat dwar grad gradebook, dak li qed tgħid 433 00:23:56,200 --> 00:24:00,560 huwa li aħna qed tmur biex impliċitament toħloq kostanti ġdid imsejjaħ 434 00:24:00,560 --> 00:24:05,180 grad li ser tirrappreżenta kull oġġett uniku fil-gradebook 435 00:24:05,180 --> 00:24:06,769 kull darba li l-għall ttenni linja. 436 00:24:06,769 --> 00:24:08,560 Allura l-ewwel darba li huwa run, grad se 437 00:24:08,560 --> 00:24:09,800 tkun l-ewwel punt fil-gradebook. 438 00:24:09,800 --> 00:24:12,300 It-tieni darba dan ser ikun il- tieni partita, hekk u ibqa 'sejjer hekk 439 00:24:12,300 --> 00:24:15,970 sakemm gradebook għandha eżawriti innifsu ta 'elementi. 440 00:24:15,970 --> 00:24:20,390 Allura aħna se tista 'tiġi kkalkulata dik grad fis varjabbli għadd totali tagħna 441 00:24:20,390 --> 00:24:22,570 u r-ritorn medja tagħna kif konna rajna qabel. 442 00:24:22,570 --> 00:24:25,670 443 00:24:25,670 --> 00:24:26,950 OK, xi mistoqsijiet? 444 00:24:26,950 --> 00:24:27,699 Iva? 445 00:24:27,699 --> 00:24:28,990 UDJENZA: Għandi żewġ mistoqsijiet. 446 00:24:28,990 --> 00:24:33,586 Numru wieħed, ipotetikament, jista inti tmexxi numru sħiħ fuq dan wieħed? 447 00:24:33,586 --> 00:24:35,604 Ma għandekx tkun doppja, hija li korretta? 448 00:24:35,604 --> 00:24:37,520 DAN AMRMENDARIZ: Tista irrepeti din il-kwistjoni? 449 00:24:37,520 --> 00:24:39,587 UDJENZA: Nista 'nagħmel numru sħiħ bħala l-medja? 450 00:24:39,587 --> 00:24:41,670 DAN AMRMENDARIZ: Tista do integer bħala medja? 451 00:24:41,670 --> 00:24:45,015 Allura ritorn integer medja minflok doppja? 452 00:24:45,015 --> 00:24:48,204 >> UDJENZA: Return-- inti dan id-dritt issa hawn taħt. 453 00:24:48,204 --> 00:24:49,870 DAN AMRMENDARIZ: Dritt hawn, ritorn 0.0? 454 00:24:49,870 --> 00:24:51,790 UDJENZA: Yeah, biss jirritorna 0. 455 00:24:51,790 --> 00:24:56,590 U għalhekk se jkun jew 80 jew 85, iżda mhux 85.2. 456 00:24:56,590 --> 00:24:59,465 >> DAN AMRMENDARIZ: Allura f'dak il-każ, hekk hemm koppja modi differenti 457 00:24:59,465 --> 00:25:00,090 tingħata risposta għal din. 458 00:25:00,090 --> 00:25:02,760 Let me tweġibhom fl-ordni. 459 00:25:02,760 --> 00:25:06,740 Mela jekk jien biss tagħmel dan ir-ritorn 0, ta '0 huwa valur sħiħ. 460 00:25:06,740 --> 00:25:09,730 U hekk li se jikkawżaw tip żbalji għal dan il-każ 461 00:25:09,730 --> 00:25:13,210 minħabba li qiegħda tistenna doppja iżda mbagħad jirritornaw integer. 462 00:25:13,210 --> 00:25:16,770 Jekk I jridu jirritornaw numru sħiħ, I jistgħu. 463 00:25:16,770 --> 00:25:20,450 I tista 'tistabbilixxi t-tip ta' ritorn li int, jirritornaw 0 hawn, 464 00:25:20,450 --> 00:25:22,047 u ma jwettqu diviżjoni doppja. 465 00:25:22,047 --> 00:25:23,880 Imma allura aħna se jkun tagħmel diviżjoni numru sħiħ. 466 00:25:23,880 --> 00:25:27,080 U hekk aħna mbagħad mhux se tikseb l- medja li aħna se possibilment jistennew. 467 00:25:27,080 --> 00:25:29,210 Iżda iva nistgħu timmodifika it-tipi f'dak il-mod. 468 00:25:29,210 --> 00:25:32,598 >> UDJENZA: U t-tieni, inti jkollhom il Double waħda fuq il-quċċata. 469 00:25:32,598 --> 00:25:35,502 Iżda stabbiliti hawn taħt, meta inti tagħmel ritorn Double Double, 470 00:25:35,502 --> 00:25:38,280 li diġà awtomatikament jirritornaw format Double. 471 00:25:38,280 --> 00:25:42,278 Għaliex inti xorta jkollok bżonn biex jiddefinixxu ma vleġġa fuq quċċata ma 'Double? 472 00:25:42,278 --> 00:25:45,010 >> DAN AMRMENDARIZ: So fil-każ, dan huwa parti 473 00:25:45,010 --> 00:25:50,580 tal the-- hekk li jirrepeti l-kwistjoni, għaliex dan huwa impliċitu mill-prospett 474 00:25:50,580 --> 00:25:56,030 tipi hawn, liema tip dan fil-fatt huwa, għandna bżonn li jkunu espliċita ma Swift 475 00:25:56,030 --> 00:25:59,970 dwar dak li rridu li ritorn minn din il-funzjoni 476 00:25:59,970 --> 00:26:02,690 b'tali mod li meta huwa jwettaq tip verifika, tista 'tagħmel ċert 477 00:26:02,690 --> 00:26:05,850 li dak li għandna attwalment bil-miktub stabbiliti hawn taħt fil-fatt konformi ma 'dak. 478 00:26:05,850 --> 00:26:10,225 Allura huwa tip simili ta 'verifika lilek tip ta 'sitwazzjoni. 479 00:26:10,225 --> 00:26:11,050 Iżda hemm are-- 480 00:26:11,050 --> 00:26:12,560 >> UDJENZA: [inaudible] vleġġa? 481 00:26:12,560 --> 00:26:19,490 >> DAN AMRMENDARIZ: Hemm każijiet meta nistgħu jispeċifikaw li nistgħu impliċitament 482 00:26:19,490 --> 00:26:21,550 tistabbilixxi t-tip ta 'ritorn. 483 00:26:21,550 --> 00:26:23,940 Iżda f'dan il-każ, jien ma jaħsbu li tkun taħdem. 484 00:26:23,940 --> 00:26:26,190 Hemm xi sintassi oħra li aħna ser tara aktar tard. 485 00:26:26,190 --> 00:26:30,320 486 00:26:30,320 --> 00:26:35,280 >> Dritt kollox, hekk dan is-sors kodiċi huwa ftit differenti 487 00:26:35,280 --> 00:26:41,839 għaliex dan parses argument minn il-funzjoni li aħna qed titlob. 488 00:26:41,839 --> 00:26:44,130 Let me nuruk kif taħdem qabel we attwalment jimxu fuq 489 00:26:44,130 --> 00:26:48,050 li xi affarijiet interessanti li qed jiġri fil Swift. 490 00:26:48,050 --> 00:26:51,870 >> Allura f'dan il-każ, jekk I biss run dan kodiċi, avviż li dak li qed tagħmel 491 00:26:51,870 --> 00:26:54,900 filwaqt is--, it-tip ta ' tagħti me żball stramb. 492 00:26:54,900 --> 00:26:59,730 I bżonn li tgħaddi dan koppja ta ' interi bħala argument linja tal-kmand. 493 00:26:59,730 --> 00:27:06,220 Mela ejja ara, 150 u 80, u hit Ikteb biex issir taf dak li attwalment jagħmlu. 494 00:27:06,220 --> 00:27:09,890 Huwa taċċetta kull wieħed dawn il-valuri bħala interi. 495 00:27:09,890 --> 00:27:12,040 Huwa inputjar tagħhom fiċ-gradebook. 496 00:27:12,040 --> 00:27:14,470 U allura huwa jwettqu dak il-kalkolu medja 497 00:27:14,470 --> 00:27:16,650 u outputting li kif nistgħu nistennew. 498 00:27:16,650 --> 00:27:19,950 >> Imma ovvjament hemm xi ħaġa għaddej fuq dan il xi ħaġa li tiċħad 499 00:27:19,950 --> 00:27:23,300 xi ħaġa bħala numru sħiħ. 500 00:27:23,300 --> 00:27:27,300 Kif inti tista 'recall minn meta konna jittrattaw argumenti kmand linja 501 00:27:27,300 --> 00:27:32,640 fis-C u lingwi oħra, l-ewwel ħafna Partita 0-th fil dan l-argument linja ta 'kmand 502 00:27:32,640 --> 00:27:35,774 lista hija l-isem tal-kmand li għandna attwalment eżegwita. 503 00:27:35,774 --> 00:27:38,690 Allura f'dan il-każ, jien biss looping fuq l-argumenti kollha linja tal-kmand. 504 00:27:38,690 --> 00:27:41,650 Imma jien ma nagħmilx xi tip ta 'fancy tikkontrolla biex skip fuq li l-ewwel wieħed. 505 00:27:41,650 --> 00:27:45,920 Jien biss espliċitament jew impliċitament jien verifika liema minn dawn it-tipi 506 00:27:45,920 --> 00:27:49,900 huma interi qabel I attwalment iwettqu din il-komputazzjoni. 507 00:27:49,900 --> 00:27:52,420 >> U li essenzjalment dak li qed jiġri hawn. 508 00:27:52,420 --> 00:27:55,860 Għal kull argument argumenti tal-proċess ta, 509 00:27:55,860 --> 00:27:59,210 Jien ser iwettaq xi verifika. 510 00:27:59,210 --> 00:28:01,970 U f'dan il-każ, jien ser biex tipprova ewwel jikkonvertu 511 00:28:01,970 --> 00:28:07,620 dan l-argument fis integer mill jwettqu typecast espliċitu, 512 00:28:07,620 --> 00:28:12,310 minħabba li huwa, fuq input, string u mhux fil-fatt numru sħiħ. 513 00:28:12,310 --> 00:28:18,140 >> Iżda din hija tip ta 'sintassi stramb, jekk grad let ugwali Int (argument). 514 00:28:18,140 --> 00:28:21,120 Dak li huwa verament jiġri hawnhekk hija estremament 515 00:28:21,120 --> 00:28:24,390 importanti għall-użu Swift tiegħek. 516 00:28:24,390 --> 00:28:27,610 Dan qed tuża x'hemm imsejħa 'tip mhux obbligatorju. 517 00:28:27,610 --> 00:28:34,790 >> Allura din il-funzjoni, Int (argument), prospetti mhux biss numru sħiħ, iżda prospetti 518 00:28:34,790 --> 00:28:37,470 dak li sejjaħ integer mhux obbligatorju. 519 00:28:37,470 --> 00:28:41,200 U għalhekk dan huwa tip ta ' tip fuq quċċata ta 'tip. 520 00:28:41,200 --> 00:28:45,900 Tista 'tip ta' jimmaġina hija simili huwa jirritorna bħal pakkett. 521 00:28:45,900 --> 00:28:47,750 U meta inti tiftaħ li pakkett, tkun jew 522 00:28:47,750 --> 00:28:53,930 għandha integer, li huwa r-riżultat, jew hija għandha assolutament xejn fil-livelli kollha. 523 00:28:53,930 --> 00:28:58,140 U dan huwa utli bħala verifika żball mekkaniżmu, għaliex f'dan il-każ 524 00:28:58,140 --> 00:29:02,080 nistgħu niskopru, kien dan tip konverżjoni suċċess? 525 00:29:02,080 --> 00:29:05,810 Jekk kien, allura huwa fil-fatt ser ikollhom numru sħiħ ġewwa. 526 00:29:05,810 --> 00:29:08,750 Inkella li għaddej biex ikollhom xi valur li aħna ser sejħa xejn, li 527 00:29:08,750 --> 00:29:10,920 huwa rappreżentattiv ta 'ebda numru sħiħ fil-livelli kollha. 528 00:29:10,920 --> 00:29:13,270 Huwa tassew rappreżentattiv tal xejn. 529 00:29:13,270 --> 00:29:18,130 >> U hekk dan jekk il-kostruzzjoni jippermetti li tikxef dak il-pakkett, 530 00:29:18,130 --> 00:29:19,850 li fakultattiv vinkolanti. 531 00:29:19,850 --> 00:29:25,560 U jekk aħna kapaċi biex tikxef li pakkett u jsibu integer ġewwa, 532 00:29:25,560 --> 00:29:27,720 allura dak li qed tgħid hawnhekk hija li aħna se mbagħad 533 00:29:27,720 --> 00:29:33,090 jippermettu li l-valur li għandu jiġi stabbilit fil din il-kostanti imsejħa grad. 534 00:29:33,090 --> 00:29:36,590 U dan il-porzjon tal-, jekk id-dikjarazzjoni, il-porzjon ta 'fuq tal-, jekk dikjarazzjoni 535 00:29:36,590 --> 00:29:40,390 se jimxu, minħabba li Tikxef kienet ta 'suċċess. 536 00:29:40,390 --> 00:29:43,290 >> Jekk huwa biss hekk jiġri li kien hemm żball forsi 537 00:29:43,290 --> 00:29:47,040 f'dan konverżjoni tip espliċita minn string għal numru sħiħ, forsi 538 00:29:47,040 --> 00:29:49,160 huwa l-ABC valur per eżempju. 539 00:29:49,160 --> 00:29:52,120 U li attwalment mhux se li jikkonvertu għal numru sħiħ. 540 00:29:52,120 --> 00:29:55,520 Imbagħad huwa ser jerġa xejn, li mhuwiex numru sħiħ. 541 00:29:55,520 --> 00:29:57,570 U dan jekk id-dikjarazzjoni ukoll allura jonqsu. 542 00:29:57,570 --> 00:30:01,930 grad ma tkunx teżisti minħabba li m'għandux kontenut numru sħiħ. 543 00:30:01,930 --> 00:30:06,391 U se jimxu f'dan il-blokk ieħor minflok. 544 00:30:06,391 --> 00:30:06,890 Iva? 545 00:30:06,890 --> 00:30:09,652 >> UDJENZA: Xejn hija-N I-L? 546 00:30:09,652 --> 00:30:11,110 DAN AMRMENDARIZ: xejn hija N-I-L, iva. 547 00:30:11,110 --> 00:30:14,970 548 00:30:14,970 --> 00:30:20,310 >> Allura dan huwa forsi waħda mill- affarijiet agħar dwar Swift, 549 00:30:20,310 --> 00:30:23,690 speċjalment meta int fil l-ħaxix ħażin fuq app IOS 550 00:30:23,690 --> 00:30:27,442 u int fil-fatt tipprova biex jagħmlu xi iżvilupp hemmhekk. 551 00:30:27,442 --> 00:30:29,400 Li għaddej biex jiġu yelling fi inti dwar fakultattiva. 552 00:30:29,400 --> 00:30:33,050 Li għaddej biex tkun qed issaqsi lilek għall trade marks in kwistjoni u l-punti exclamation. 553 00:30:33,050 --> 00:30:37,100 Imma ladarba inti figura out-- jekk inti jiddedikaw ftit ħin biex jidhru 554 00:30:37,100 --> 00:30:41,990 dak li huwa għaddej ma 'tipi mhux obbligatorji, inti ser tiffranka yourself ħafna ras 555 00:30:41,990 --> 00:30:46,040 kif inti qed tipprova tikteb app fil Swift. 556 00:30:46,040 --> 00:30:47,660 >> Huwa fil-fatt karatteristika qawwija ħafna. 557 00:30:47,660 --> 00:30:49,826 U inti ser ikollok biss biex tieħu kelma tiegħi għaliha għal issa. 558 00:30:49,826 --> 00:30:52,620 Iżda aħna ser tara din il-kostruzzjoni u xi oħrajn bhalu 559 00:30:52,620 --> 00:30:56,740 f'xi wħud mill-kodiċi sors ieħor li aħna ser nuruk biss fi ftit. 560 00:30:56,740 --> 00:31:00,440 >> Hemm xi mistoqsijiet inizjali hawn? 561 00:31:00,440 --> 00:31:03,790 562 00:31:03,790 --> 00:31:08,690 Allura l-takeaway importanti hija li tip fakultattiv huwa tip ta 'metatype. 563 00:31:08,690 --> 00:31:12,500 Hija la għandu valur, u jekk dan huwa minnu, allura 564 00:31:12,500 --> 00:31:18,110 forsi se jkollhom dak il-valur assoċjat magħha, jew ma jkollu ebda valur li tkun, 565 00:31:18,110 --> 00:31:19,620 u huwa rappreżentat minn xejn. 566 00:31:19,620 --> 00:31:24,210 567 00:31:24,210 --> 00:31:28,870 Il-bqija ta 'dan huwa forsi kif tista 'tistenna. 568 00:31:28,870 --> 00:31:32,900 >> Mela ejja rampa l- diffikultà għal darb'oħra. 569 00:31:32,900 --> 00:31:37,070 U din id-darba, ejja tagħti ħarsa lejn uħud tipi ta 'data oħra li attwalment jeżistu. 570 00:31:37,070 --> 00:31:41,290 Waħda minnhom hija dizzjunarji, li huwa simili ħafna għal dizzjunarji Python. 571 00:31:41,290 --> 00:31:48,270 Huwa pjuttost simili għal tabella hash fil C. Hija essenzjalment immappjar ta 'ċwievet 572 00:31:48,270 --> 00:31:49,820 fejn ċwievet jistgħu jkunu kordi. 573 00:31:49,820 --> 00:31:52,670 U meta inti tfittex up dawk keys, dawk keys se jkollu valur. 574 00:31:52,670 --> 00:31:56,020 Għalhekk mhuwiex pjuttost firxa, iżda minflok, assoċjati aktar mill-qrib 575 00:31:56,020 --> 00:31:58,810 li mappa hash jew tabella hash. 576 00:31:58,810 --> 00:32:02,420 >> Ejja naraw kif dan suppost għax-xogħol qabel we attwalment 577 00:32:02,420 --> 00:32:05,210 jmorru fil-kodiċi tas-sors innifsu. 578 00:32:05,210 --> 00:32:07,680 Jekk I biss run dan, xejn verament jiġri. 579 00:32:07,680 --> 00:32:12,430 Huwa javżak me li jien jistennew xi parametri tat-tip li ġej. 580 00:32:12,430 --> 00:32:16,050 Hekk jien ser jipprovdu lill huwa xi problema stabbiliti ismijiet, 581 00:32:16,050 --> 00:32:18,490 hekk pset0, forsi sibt 100. 582 00:32:18,490 --> 00:32:20,790 U pset1, sibt 5. 583 00:32:20,790 --> 00:32:24,630 U mbagħad fuq l-eżami, I ma verament tajjeb u ltqajna 30. 584 00:32:24,630 --> 00:32:27,180 U oops, I hit l-ispazju hawn. 585 00:32:27,180 --> 00:32:30,940 >> Meta I hit Ikteb, tista 'tara huwa jwettaq xi komputazzjoni. 586 00:32:30,940 --> 00:32:33,740 Hija tgħid gradebook huwa ta 'tliet gradi, pset1, pset0, eżami. 587 00:32:33,740 --> 00:32:36,120 U l-gradebook għandha din il-medja speċifika. 588 00:32:36,120 --> 00:32:38,370 Għalhekk għal darb'oħra, aħna qed jaħdmu ma din l-idea gradebook, 589 00:32:38,370 --> 00:32:44,650 imma aħna qed tmur biex tkompli mtennija mal-kumplessità tal-funzjoni tagħna. 590 00:32:44,650 --> 00:32:47,650 >> Allura fil-bidu, aħna qed biss se toħloq funzjoni li 591 00:32:47,650 --> 00:32:49,390 huwa responsabbli għall-istampar tal-użu. 592 00:32:49,390 --> 00:32:51,920 U hemm dan ħruġ funzjoni li se biss 593 00:32:51,920 --> 00:32:53,710 sfurzat nieqaf l-applikazzjoni. 594 00:32:53,710 --> 00:32:56,530 Dan mhux xi ħaġa li inti ser tuża fil app IOS. 595 00:32:56,530 --> 00:32:59,750 Dan huwa biss, f'dan il-każ, bi argument kmand tal-linja. 596 00:32:59,750 --> 00:33:01,990 Li jmiss aħna ser tibda miexja lejn Xcode. 597 00:33:01,990 --> 00:33:07,760 Iżda din hija speċifika għal kmand linja programm stil Swift. 598 00:33:07,760 --> 00:33:11,490 >> Ejja tagħti ħarsa lejn uħud mill l-affarijiet interessanti hawn. 599 00:33:11,490 --> 00:33:15,150 Ejja naraw, biss ftit affarijiet interessanti li wieħed isemmi forsi 600 00:33:15,150 --> 00:33:19,930 hija li fil-funzjoni tiegħi ta istampar in-numru ta 'gradi, 601 00:33:19,930 --> 00:33:26,090 inti tista 'recall li kelli dik il-lista tal pset1 items--, pset0, u eżami. 602 00:33:26,090 --> 00:33:29,130 Inti tista 'attwalment malajr u faċilment jagħmlu dan 603 00:33:29,130 --> 00:33:34,490 billi tieħu l-gradebook, li hija dizzjunarju li għandha ċwievet u valuri. 604 00:33:34,490 --> 00:33:38,730 Find kollha tal-muftieħ huwa permezz il-metodu ċwievet dot hawn, 605 00:33:38,730 --> 00:33:43,180 u mbagħad jużaw dan joinWithSeparator, li mbagħad jieħdu l-keys 606 00:33:43,180 --> 00:33:48,590 li kellna ittajpjat fil, pset1-- jew sorry, pset0, pset1, u exam-- 607 00:33:48,590 --> 00:33:53,030 u concatenate flimkien użu ta 'virgola u spazju 608 00:33:53,030 --> 00:33:55,400 biex joħolqu sekwenza waħda twila. 609 00:33:55,400 --> 00:34:00,190 Din l-operazzjoni tingħaqad huwa biss phenomenally utli fil-varjetà ta 'kuntesti. 610 00:34:00,190 --> 00:34:03,450 U għalhekk huwa dan joinWithSeparator. 611 00:34:03,450 --> 00:34:06,939 >> U dan huwa ħaġa waħda li mibdul minn Swift 1 sa Swift 2. 612 00:34:06,939 --> 00:34:08,730 Hemm użati biex tkun Style-- Python jekk int 613 00:34:08,730 --> 00:34:13,219 familjari ma Python-- a Python stil jissieħbu metodu fuq kordi. 614 00:34:13,219 --> 00:34:15,699 Iżda dan m'għadux il-każ fil Swift 2. 615 00:34:15,699 --> 00:34:19,400 Inti tixtieq li tuża dan jekk inti tixtieq li concatenate firxa ta 'għalf 616 00:34:19,400 --> 00:34:23,380 flimkien ma 'sekwenza. 617 00:34:23,380 --> 00:34:27,889 >> Allura forsi imbagħad fil tagħna diskussjoni ta 'medja qabel, 618 00:34:27,889 --> 00:34:32,659 jagħmel ftit aktar sens għalina li tiffissa l-funzjoni medja 619 00:34:32,659 --> 00:34:36,610 li jkun doppju obbligatorju pjuttost minn sempliċi doppju espliċita. 620 00:34:36,610 --> 00:34:39,239 Minħabba kellna li kondizzjoni mhux tas-soltu fejn, 621 00:34:39,239 --> 00:34:41,550 dak li jekk gradebook attwalment m'għandha l-ebda valuri fi ħdanu? 622 00:34:41,550 --> 00:34:44,280 X'għandhom ikunu l-qligħ medju? 623 00:34:44,280 --> 00:34:46,350 >> Ukoll forsi fl C inti kien jagħmel xi ħaġa 624 00:34:46,350 --> 00:34:50,040 bħal provdut valur sentinella, bħal 0.0, jew forsi numru negattiv, 625 00:34:50,040 --> 00:34:53,690 jew xi ħaġa biss li jirrappreżenta l-fatt li kien hemm xi kundizzjoni żball 626 00:34:53,690 --> 00:34:57,910 u inti forsi ma attwalment jkollhom l-abbiltà biex tiġi kkalkulata dik il-medja. 627 00:34:57,910 --> 00:35:05,590 Ukoll l-sbuħija ta tispeċifika tip fakultattiva tkun li tagħmel dan. 628 00:35:05,590 --> 00:35:09,540 U jien issa tgħid dawn il-kliem kollha, iżda dan fil-fatt ma jużax optionals. 629 00:35:09,540 --> 00:35:12,970 Iżda aħna ser tara li fi ftit minuti fejn nistgħu stabbiliti medja 630 00:35:12,970 --> 00:35:17,230 li jkun tip ta 'data fakultattiva sabiex jekk fil-fatt jirritorna xi data, imbagħad 631 00:35:17,230 --> 00:35:18,470 aħna se terġa 'lura dak id-data. 632 00:35:18,470 --> 00:35:20,570 Inkella aħna se terġa 'lura xejn, qal li dan 633 00:35:20,570 --> 00:35:22,200 m'għandha l-ebda komputazzjoni sinifikanti. 634 00:35:22,200 --> 00:35:25,650 635 00:35:25,650 --> 00:35:28,570 >> Ejja jimxu fuq xi ħaġa oħra. 636 00:35:28,570 --> 00:35:35,910 Allura minn hawn, aħna kont qed tħares lejn kollha dawn l-eżempji fil-linja tal-kmand. 637 00:35:35,910 --> 00:35:39,470 Imma verament dak li int ser li jkunu jittrattaw huwa Xcode. 638 00:35:39,470 --> 00:35:43,720 U waħda mill-affarijiet sbieħ dwar Xcode huwa, u speċifikament fl Swift, 639 00:35:43,720 --> 00:35:47,450 hija li għandna din ħaġa imsejħa Playground. 640 00:35:47,450 --> 00:35:51,470 U Playground hija mhuwiex f'kull app IOS. 641 00:35:51,470 --> 00:35:54,751 Iżda tippermetti li inti esperiment ma Swift b'mod faċli ħafna. 642 00:35:54,751 --> 00:35:56,000 Tista 'tip kollha ta' kodiċi tiegħek. 643 00:35:56,000 --> 00:35:58,140 Huwa nicely sintassi enfasizzat hawn. 644 00:35:58,140 --> 00:36:01,600 Meta inti toħloq fajl ġdid, se titlob jekk inti tixtieq li toħloq Playground. 645 00:36:01,600 --> 00:36:08,720 Imma l-ħaġa sbieħ dwar il Playground hija li fuq il-lemin tat-tieqa tiegħek, 646 00:36:08,720 --> 00:36:12,020 ma attwalment nuruk output minn kodiċi tiegħek. 647 00:36:12,020 --> 00:36:16,110 Mela jekk jien iscroll, nistgħu naraw dak li l-output ta 'diversi linji ta' kodiċi 648 00:36:16,110 --> 00:36:17,200 fil-fatt jiġri li jkun. 649 00:36:17,200 --> 00:36:19,850 650 00:36:19,850 --> 00:36:26,790 >> Allura f'dan il-każ, aħna qed tmur biex bidla direzzjonijiet biss ftit 651 00:36:26,790 --> 00:36:30,960 u jitkellmu dwar xi ħaġa li tassew importanti li dan il-mod livell għoli 652 00:36:30,960 --> 00:36:34,020 li Swift topera, u hija din idea ta 'għeluq. 653 00:36:34,020 --> 00:36:36,960 U inti stajt probabbilment jidhru dan ftit fil JavaScript. 654 00:36:36,960 --> 00:36:40,770 Għal dawk minnkom li huma CS50, għeluq 655 00:36:40,770 --> 00:36:47,240 huma popolari ħafna, mod tajjeb ħafna ta 'kif isir affarijiet ta 'livell għoli fil-lingwi moderni. 656 00:36:47,240 --> 00:36:50,270 Imma hija wkoll tip ta 'diffiċli biex wrap ras tiegħek madwar l-ewwel darba. 657 00:36:50,270 --> 00:36:52,269 Mela jekk inti tħares lejn din ewwel darba, li l-OK. 658 00:36:52,269 --> 00:36:56,740 Biss ħarsa lejn il-kodiċi tas-sors u ara jekk inti tista 'figura hija out fid-dar. 659 00:36:56,740 --> 00:37:01,050 >> Allura f'dan il-każ, ejja ngħidu li aħna tixtieq li joħolqu ħafna ta 'esponenti 660 00:37:01,050 --> 00:37:04,134 ma 'xi valur fiss. 661 00:37:04,134 --> 00:37:05,800 Allura f'dan il-każ I jista 'joħloq funzjoni. 662 00:37:05,800 --> 00:37:09,270 Jien ser sejħa hija qawwa ta ' 2 iskop li lingwata fil-ħajja 663 00:37:09,270 --> 00:37:15,770 huwa li jieħdu xi kontribut u double dan, u r-ritorn dak il-valur. 664 00:37:15,770 --> 00:37:21,210 Avviż li hawn jien taċċetta tip wieħed ta 'data. 665 00:37:21,210 --> 00:37:23,137 Huwa ser jkun fattur varjabbli imsejjaħ x. 666 00:37:23,137 --> 00:37:23,970 Huwa ta 'tip Double. 667 00:37:23,970 --> 00:37:26,190 U jien ser jirritornaw Double hawn. 668 00:37:26,190 --> 00:37:29,100 U jien biss se jagħmlu a ħafna, franchement, pretty 669 00:37:29,100 --> 00:37:32,650 mod naive tirdoppja dan il-valur. 670 00:37:32,650 --> 00:37:35,600 U jien ser nuruk għaliex dan huwa utli fi ftit tieni. 671 00:37:35,600 --> 00:37:40,418 >> Avviż li hawnhekk għandna din il-firxa mill-ġdid. għal xi ħaġa f'1, dot 672 00:37:40,418 --> 00:37:44,130 dot dot, 2, li jfisser li dan loop se jibqa 'għaddej darbtejn. 673 00:37:44,130 --> 00:37:46,480 Iżda dan jirrappreżenta varjabbli finta. 674 00:37:46,480 --> 00:37:49,650 Dan ifisser Jien ma verament se tkun qed tuża dak il-varjabbli fi kwalunkwe post 675 00:37:49,650 --> 00:37:51,070 ġewwa ta 'dan loop. 676 00:37:51,070 --> 00:37:55,380 I biss jixtiequ din il-linja tal-kodiċi jiddekorri darbtejn, 677 00:37:55,380 --> 00:37:58,980 mingħajr il-bżonn li tkun taf il-valur ta 'dik il-medda. 678 00:37:58,980 --> 00:38:02,570 >> Allura f'dan il-każ niġri riżultat drabi x darbtejn, li essenzjalment 679 00:38:02,570 --> 00:38:06,560 ifisser li jien jitħallas dan il-valur. 680 00:38:06,560 --> 00:38:10,230 U dan jiġri xogħol kif aħna tistenna. 681 00:38:10,230 --> 00:38:16,410 Power ta '2, tgħaddi valur ta 2.0 tagħtina output tal-4. 682 00:38:16,410 --> 00:38:18,810 3.2 xogħlijiet għall 10.24. 683 00:38:18,810 --> 00:38:22,660 >> Issa nistgħu nagħmlu simili ħaġa għall-enerġija ta '3. 684 00:38:22,660 --> 00:38:25,330 Imma issa tinbidel biss il-firxa. 685 00:38:25,330 --> 00:38:28,840 Għal varjabbli dummy in 1 sa 3, immoltiplika 3 darbiet, 686 00:38:28,840 --> 00:38:29,830 u jagħmlu l-istess ħaġa. 687 00:38:29,830 --> 00:38:32,240 >> Allura dan jista jħossu ftit artifiċjali. 688 00:38:32,240 --> 00:38:34,270 Iżda hemm xi importanti ħaġa hawn li 689 00:38:34,270 --> 00:38:37,770 hija li tħares lejn dawn żewġ funzjonijiet, hemm 690 00:38:37,770 --> 00:38:43,600 unika ħaġa waħda li l differenti, li huwa dan il-valur fil-medda. 691 00:38:43,600 --> 00:38:46,910 Kollox dwar dawn iż-żewġ funzjonijiet, l-enerġija ta '3 u l-qawwa ta' 2, 692 00:38:46,910 --> 00:38:50,440 huma, fil-fatt, identiċi minħabba jaħdmu bl-istess mod. 693 00:38:50,440 --> 00:38:53,460 >> Allura f'dan il-punt, ftit allarm qanpiena għandhom jkunu għaddejjin off. 694 00:38:53,460 --> 00:38:56,200 Nisperaw dak li qed tgħid, tafu, dan iħoss ftit 695 00:38:56,200 --> 00:38:59,250 bħal sforzi doppji. 696 00:38:59,250 --> 00:39:02,950 Forsi hemm mod li nixtieq tkun tista 'jirrappreżentaw kollha ta' dan 697 00:39:02,950 --> 00:39:06,630 u jipprovdu funzjoni jew joħolqu funzjoni li 698 00:39:06,630 --> 00:39:11,550 ma eżattament dak li nixtieq mingħajr bżonn li tip li b'mod espliċitu. 699 00:39:11,550 --> 00:39:15,732 U dan huwa dak li l-qawwa ta 'għeluq jippermetti li tagħmel. 700 00:39:15,732 --> 00:39:16,940 Mela ejja tagħti ħarsa lejn dan. 701 00:39:16,940 --> 00:39:18,700 U jien ser jonfqu ftit minuti fuq dan, għaliex dan 702 00:39:18,700 --> 00:39:20,310 hija pjuttost importanti għall Swift. 703 00:39:20,310 --> 00:39:22,900 Naraw dan il-ħin kollu. 704 00:39:22,900 --> 00:39:24,550 Aħna qed tmur biex jiddefinixxu funzjoni. 705 00:39:24,550 --> 00:39:26,380 Li għaddej biex jiġu msejħa powerOf. 706 00:39:26,380 --> 00:39:29,470 Huwa ser jaċċetta parametru imsejjaħ y tat Int tip. 707 00:39:29,470 --> 00:39:32,220 Iżda tagħti ħarsa lejn it-tip ta 'ritorn. 708 00:39:32,220 --> 00:39:38,730 It-tip ritorn hija, fil parentesi, Double vleġġa Double. 709 00:39:38,730 --> 00:39:43,370 Li jfisser li din il-funzjoni, dan powerOf funzjoni, 710 00:39:43,370 --> 00:39:46,550 huwa jirritorna funzjoni. 711 00:39:46,550 --> 00:39:50,845 Dan huwa jaċċetta Double u jirritornaw Double. 712 00:39:50,845 --> 00:39:53,720 Allura li jista 'ħoss tip ta' crazy, imma ejja iscroll down ftit 713 00:39:53,720 --> 00:39:55,060 u tfittex biex tara x'jiġri. 714 00:39:55,060 --> 00:39:57,910 Aħna ġewwa ta 'dan powerOf funzjoni. 715 00:39:57,910 --> 00:40:00,760 Aħna qed joħolqu funzjoni ġdida imsejħa exponentiator, 716 00:40:00,760 --> 00:40:02,900 iżda ma jimpurtax dak li hu. 717 00:40:02,900 --> 00:40:06,410 >> Avviż li dan għandu valur input ta x. 718 00:40:06,410 --> 00:40:09,910 U qed tieħu fil-Double u jirritornaw Double. 719 00:40:09,910 --> 00:40:16,320 U dan huwa l-istess kodiċi li aħna raw hawn fuq, ħlief li l-valur tat-2 720 00:40:16,320 --> 00:40:20,060 jew il-valur ta '3, li fuq marbuta f'dik il-firxa, 721 00:40:20,060 --> 00:40:23,210 ġie sostitwit bl dan il-valur ta 'y, li 722 00:40:23,210 --> 00:40:27,230 kien il-parametru inizjali tal-funzjoni powerOf tagħna. 723 00:40:27,230 --> 00:40:31,700 U f'dan il-punt, aħna ritorn exponentiator. 724 00:40:31,700 --> 00:40:33,345 Aħna qed jirritorna l-funzjoni. 725 00:40:33,345 --> 00:40:36,300 726 00:40:36,300 --> 00:40:39,550 >> Huwa tip ta 'prodotti simili blowing mind ftit. 727 00:40:39,550 --> 00:40:44,360 Imma ejja jimmaġina dak li jiġri meta I call din il-funzjoni powerOf 728 00:40:44,360 --> 00:40:47,610 u jgħaddu fis dan xi valur bħal 2. 729 00:40:47,610 --> 00:40:50,020 X'inhu dan ifisser huwa li I issa għandhom il-valur 730 00:40:50,020 --> 00:40:55,130 2 għal y, li jfisser li dan il-valur y f'dan funzjoni exponentiator 731 00:40:55,130 --> 00:40:56,410 se jkun dak il-valur 2. 732 00:40:56,410 --> 00:41:01,290 Imma jien lura dan funzjoni exponentiator. 733 00:41:01,290 --> 00:41:05,900 >> Allura avviż dak Swift jgħid I ħolqu f'dan il-każ. 734 00:41:05,900 --> 00:41:10,550 let kwadru definizzjoni, huwa funzjoni li taċċetta Double 735 00:41:10,550 --> 00:41:12,610 u prospetti ta 'Double. 736 00:41:12,610 --> 00:41:16,590 I ħolqu funzjoni li kwadri xi ħaġa 737 00:41:16,590 --> 00:41:19,782 Dan il-mekkaniżmu dritt hawn. 738 00:41:19,782 --> 00:41:22,490 U verament dak li qed jiġri hu li jirritorna din il-funzjoni 739 00:41:22,490 --> 00:41:26,390 exponentiator, iżda dan il-valur y hija mgeżwra ġewwa ta 'dan. 740 00:41:26,390 --> 00:41:31,080 U hekk issa kull darba I jużaw dan varjabbli jew din il-kostanti imsejħa 741 00:41:31,080 --> 00:41:35,180 kwadru, huwa li għaddej li jaġixxu bħala funzjoni. 742 00:41:35,180 --> 00:41:39,960 U so I jistgħu mbagħad sejħa dak il-varjabbli bħal I kieku ssejjaħ għal funzjoni, 743 00:41:39,960 --> 00:41:43,830 u jgħaddu fih numru, bħal f'dan il-każ 3. 744 00:41:43,830 --> 00:41:45,910 U jien mbagħad kwadru dan il-valur. 745 00:41:45,910 --> 00:41:53,340 Allura 3 kwadrat imbagħad jsiru 9, kif nistgħu naraw hawn. 746 00:41:53,340 --> 00:41:56,530 >> Really crazy, iżda dan issa tippermetti me l-opportunità 747 00:41:56,530 --> 00:41:59,040 biex joħolqu funzjonijiet oħra powerOf. 748 00:41:59,040 --> 00:42:03,680 Like I tista 'tgħid, OK, ukoll issa nixtieq li toħloq funzjoni ġdida, powerOf (3), 749 00:42:03,680 --> 00:42:06,290 u jaħżnu li fi imsejħa kubu kostanti. 750 00:42:06,290 --> 00:42:10,220 U issa kubu se jkun funzjoni separata li se mbagħad 751 00:42:10,220 --> 00:42:14,800 tieħu xi valur bħala input u kubu li valur kif nistgħu naraw fil-linja tal-qiegħ 752 00:42:14,800 --> 00:42:16,420 hawn. 753 00:42:16,420 --> 00:42:18,590 kubu ta '2 se jirriżulta fi 8. 754 00:42:18,590 --> 00:42:21,330 755 00:42:21,330 --> 00:42:22,680 >> Jittieħed Nisperaw pretty pulita. 756 00:42:22,680 --> 00:42:25,920 Inti stajt qatt rajt dan qabel. 757 00:42:25,920 --> 00:42:29,990 I ninkoraġġukom biex tħares lejn għeluq u tinvestiga dan ftit aktar. 758 00:42:29,990 --> 00:42:33,570 Huwa Jittieħed verament b'saħħtu naraw ħafna fl JavaScript u f'xi lingwi oħrajn. 759 00:42:33,570 --> 00:42:37,160 Huwa tassew vitali li fehim APIs kif ukoll 760 00:42:37,160 --> 00:42:38,620 li aħna ser tingħata biex fi ftit tieni. 761 00:42:38,620 --> 00:42:39,456 Iva? 762 00:42:39,456 --> 00:42:43,740 >> UDJENZA: Meta tagħmel powerOf (2), parentesi, u mbagħad 763 00:42:43,740 --> 00:42:48,764 parentesi ieħor, input-- ieħor inti bażikament qed tieħu post il-kwadru. 764 00:42:48,764 --> 00:42:50,930 DAN AMRMENDARIZ: Sabiex tfittex fl-aħħar linja hawnhekk. 765 00:42:50,930 --> 00:42:55,930 Huwa fil-fatt totalment possibbli li tagħmel dan ikkatenar kif inti suġġerit. 766 00:42:55,930 --> 00:43:00,990 Allura powerOf (5) tfisser li aħna qed tmur li jkollhom exponentiator tal-5 up here. 767 00:43:00,990 --> 00:43:04,160 Allura dan huwa essenzjalment se tkun l- istess ħaġa bħat 4 għall-ħames enerġija, 768 00:43:04,160 --> 00:43:07,200 għaliex aħna ħadthom ħolqot exponentiating funzjoni għall-ħames enerġija, 769 00:43:07,200 --> 00:43:09,920 u aħna qed tgħaddi ġol li jiffunzjonaw l-valur 4. 770 00:43:09,920 --> 00:43:12,619 U nikbru dak il-valur li nistennew, 1024. 771 00:43:12,619 --> 00:43:14,785 UDJENZA: U mhuwiex isem, u għalhekk jagħmilha aktar faċli 772 00:43:14,785 --> 00:43:16,570 biex jinqraw, il-kwadru x'ikun. 773 00:43:16,570 --> 00:43:17,903 >> DAN AMRMENDARIZ: Dritt, eżattament. 774 00:43:17,903 --> 00:43:21,120 Allura qabel I biss jitqiegħed fi kostanti hawn hekk 775 00:43:21,120 --> 00:43:23,808 li għamilha faċli biex jintuża dak l-isem. 776 00:43:23,808 --> 00:43:24,308 Iva? 777 00:43:24,308 --> 00:43:26,942 >> UDJENZA: F'dan il-kuntest powerOf, huwa parti 778 00:43:26,942 --> 00:43:30,774 tal-lingwa ta 'programmar għall-kuntrarju-mod kif inti 779 00:43:30,774 --> 00:43:33,952 jaħsbu powerOf f '[inaudible]? 780 00:43:33,952 --> 00:43:35,660 DAN AMRMENDARIZ: So f'dan il-każ, powerOf 781 00:43:35,660 --> 00:43:39,280 hija sempliċement l-isem tal- funzjoni li I definit up here. 782 00:43:39,280 --> 00:43:41,801 Għalhekk mhuwiex inerenti għal-lingwa nnifisha, 783 00:43:41,801 --> 00:43:43,550 iżda minflok, huwa biss funzjoni li għandha 784 00:43:43,550 --> 00:43:45,628 dak l-isem minħabba I tagħtiha dak l-isem. 785 00:43:45,628 --> 00:43:48,770 786 00:43:48,770 --> 00:43:51,920 Kwalunkwe mistoqsijiet oħra? 787 00:43:51,920 --> 00:43:52,800 Kull dritt. 788 00:43:52,800 --> 00:43:54,750 >> Issa dan huwa kbir. 789 00:43:54,750 --> 00:43:58,170 Imma int mhux se tara Ħafna funzjonijiet għeluq li 790 00:43:58,170 --> 00:44:03,440 huma bħal dan fejn inti tiddefinixxi, ġewwa ta 'funzjoni waħda, funzjoni oħra. 791 00:44:03,440 --> 00:44:04,320 U inti tista 'tagħmel dan. 792 00:44:04,320 --> 00:44:06,430 Iżda huwa tip ta 'mhux verament meħtieġa, id-dritt? 793 00:44:06,430 --> 00:44:09,189 Bħal għaliex għandi jiddefinixxu dan funzjoni msejħa exponentiator 794 00:44:09,189 --> 00:44:10,480 u mbagħad minnufih jirritornaha. 795 00:44:10,480 --> 00:44:15,220 Għaliex ma tistax I biss immedjatament ritorn din il-funzjoni? 796 00:44:15,220 --> 00:44:18,890 >> U fil-fatt, dan huwa preċiżament l-idea wara kunċett imsejjaħ 797 00:44:18,890 --> 00:44:22,410 funzjonijiet anonimi, fejn funzjonijiet anonimi ma attwalment 798 00:44:22,410 --> 00:44:25,270 għandhom isem għaliex ma jeħtiġux li jkollhom waħda. 799 00:44:25,270 --> 00:44:28,700 U hekk f'dan il-każ, fil 7B, nistgħu nsibu preċiżament din. 800 00:44:28,700 --> 00:44:31,470 Dan kollu l-istess kodiċi, ma eżattament l-istess ħaġa, 801 00:44:31,470 --> 00:44:35,570 iżda issa konna inbidlet xi ftit hekk li din il-funzjoni powerOf immedjatament 802 00:44:35,570 --> 00:44:37,750 prospetti funzjoni. 803 00:44:37,750 --> 00:44:44,150 Avviż li wara r-ritorn, hemm xi parentesi kaboċċi miftuħ. 804 00:44:44,150 --> 00:44:46,410 Huwa jistennew dan il-kontribut Double. 805 00:44:46,410 --> 00:44:48,560 Huwa jistenna li l-output Double. 806 00:44:48,560 --> 00:44:52,175 U allura l-keyword fil tifred il-kodiċi innifsu. 807 00:44:52,175 --> 00:44:53,550 Allura dan huwa funzjoni anonimu. 808 00:44:53,550 --> 00:44:57,030 Din attwalment ma għandhom isem, filwaqt qabel ma kienet mitluba exponentiator. 809 00:44:57,030 --> 00:45:00,229 Imma kif rajna, biss verament ma rreferietx għall exponentiator 810 00:45:00,229 --> 00:45:01,270 barra tal-funzjoni. 811 00:45:01,270 --> 00:45:02,470 Allura ma jimpurtax. 812 00:45:02,470 --> 00:45:06,300 Allura din il-funzjoni anonima hija hekk imsejħa minħabba li huwa nameless, 813 00:45:06,300 --> 00:45:09,107 iżda huwa għadu qed jintuża fil-kuntest ta 'dan il-kodiċi. 814 00:45:09,107 --> 00:45:13,690 815 00:45:13,690 --> 00:45:16,079 >> Dawk koppja li jmiss jien se tkompli nisperaw 816 00:45:16,079 --> 00:45:17,370 blowing moħħok ftit. 817 00:45:17,370 --> 00:45:20,410 Nistgħu jissimplifika dan saħansitra aktar. 818 00:45:20,410 --> 00:45:24,490 Għaliex kif kien astutely indikat qabel, l 819 00:45:24,490 --> 00:45:29,100 forsi aħna tassew taf, minn ddeduċiet minn dan il-kodiċi, dak 820 00:45:29,100 --> 00:45:31,750 l-output ta 'dan il-kodiċi se jkun. 821 00:45:31,750 --> 00:45:38,180 U fil-fatt, f'dan il-funzjoni anonima, nistgħu fil-fatt jiddeduċu-tipi ta 'data. 822 00:45:38,180 --> 00:45:41,650 >> Allura f'dan il-wieħed, aħna m'għadx jeħtieġ li jiġu definiti b'mod espliċitu 823 00:45:41,650 --> 00:45:44,850 it-tip ta 'data li l-jiġu input u output minn din il-funzjoni 824 00:45:44,850 --> 00:45:45,890 għal ftit ta 'raġunijiet. 825 00:45:45,890 --> 00:45:51,390 Waħda hija li konna definit, up fil- prototip tal-funzjoni li jagħlaq, 826 00:45:51,390 --> 00:45:55,770 liema tip ta 'data anonima dan funzjoni għandha input u output. 827 00:45:55,770 --> 00:45:57,900 U mill-oħra, aħna Minn dan joħroġ il-kodiċi 828 00:45:57,900 --> 00:46:01,930 stabbiliti hawn li aħna qed taċċetta input li hija ta 'tip Double 829 00:46:01,930 --> 00:46:03,670 u jirritornaw Double. 830 00:46:03,670 --> 00:46:07,890 >> Avviż li hawn aħna ma espliċitu definiti l-ismijiet tal-argumenti 831 00:46:07,890 --> 00:46:11,220 li din il-funzjoni hija taċċetta. 832 00:46:11,220 --> 00:46:16,180 U hekk naraw aħna jistgħu jirreferu għal dawk il-parametri li jużaw $ 0, $ 1, il 833 00:46:16,180 --> 00:46:20,140 hekk u ibqa 'sejjer hekk, skond il- in-numru ta 'dak il-parametru użati 834 00:46:20,140 --> 00:46:20,850 F'din il-funzjoni. 835 00:46:20,850 --> 00:46:23,370 836 00:46:23,370 --> 00:46:29,740 >> Din hija xi ħaġa li inti tmur biex tara ħafna huwa dan bracket kaboċċi miftuħa 837 00:46:29,740 --> 00:46:32,797 definizzjoni segwit minn $ 0, u mbagħad ftit operazzjoni, 838 00:46:32,797 --> 00:46:34,130 u mbagħad bracket kaboċċi magħluqa. 839 00:46:34,130 --> 00:46:38,630 Li hija funzjoni anonimu li jwettaq din l-operazzjoni. 840 00:46:38,630 --> 00:46:42,940 Hija għandha dan il-parametru fejn huwa tip hija inferita. 841 00:46:42,940 --> 00:46:44,860 Dik l-ewwel parametru huwa $ 0. 842 00:46:44,860 --> 00:46:49,010 U xi operazzjoni hija jiġri fuq dik $ 0. 843 00:46:49,010 --> 00:46:52,100 >> UDJENZA: Allura l-sinjal dollaru ifisser parametru bażikament, 844 00:46:52,100 --> 00:46:53,429 u 0 tfisser l-ewwel waħda? 845 00:46:53,429 --> 00:46:54,720 DAN Armendáriz: Li korretta. 846 00:46:54,720 --> 00:46:59,100 Allura l-sinjal dollaru bażikament ifisser parametru, u 0 tfisser l-ewwel waħda. 847 00:46:59,100 --> 00:47:02,760 Imma taħdem speċifikament F'dan il-każ fejn I ma bl-isem 848 00:47:02,760 --> 00:47:07,940 l-argumenti fil-funzjoni anonima tiegħi. 849 00:47:07,940 --> 00:47:11,119 >> UDJENZA: Does Perl jew xi ħaġa ikollhom dan is-sinjal dollaru, dollaru 0 fil hemmhekk? 850 00:47:11,119 --> 00:47:12,702 DAN Armendáriz: Does li, jien sorry? 851 00:47:12,702 --> 00:47:15,360 UDJENZA: Does Perl jkollhom dan dollaru 0, dollaru 1-- 852 00:47:15,360 --> 00:47:17,318 DAN Armendáriz: M'inix wisq familjari ma Perl, 853 00:47:17,318 --> 00:47:21,340 imma PHP dak li jiddefinixxi varjabbli ibbażata fuq sinjali dollaru. 854 00:47:21,340 --> 00:47:26,120 U jista 'jkun hemm xi lingwi li għandhom karatteristiċi bħal dan. 855 00:47:26,120 --> 00:47:28,240 Fil-fatt, Swift jissellef ħafna karatteristiċi bħal dan 856 00:47:28,240 --> 00:47:29,489 minn lott ta 'lingwi oħra. 857 00:47:29,489 --> 00:47:32,380 Naraw ħjiel ta 'Python fiha. 858 00:47:32,380 --> 00:47:35,800 Din id-definizzjoni tat-tip jidher li ġejjin minn OCaml. 859 00:47:35,800 --> 00:47:38,932 U aħna għandna biss mazz sħiħ ta ' Jittieħed mill-lottijiet ta 'lingwi differenti. 860 00:47:38,932 --> 00:47:40,640 Din kienet waħda mill-sbieħ affarijiet dwar Swift 861 00:47:40,640 --> 00:47:43,390 huwa li jieħu ħafna ta 'l-aħjar ideat minn mazz ta 'lingwi 862 00:47:43,390 --> 00:47:47,229 u shoehorns kollha flimkien fis lingwa super wieħed. 863 00:47:47,229 --> 00:47:49,520 Fil-fatt, jekk inti ippermettuli tkompli blowing moħħok, 864 00:47:49,520 --> 00:47:51,000 hekk aħna kont qed tagħmel dan kollu. 865 00:47:51,000 --> 00:47:56,690 Aħna forsi jista 'jissimplifika dan ftit bit minn jirrealizzaw li, naturalment, 866 00:47:56,690 --> 00:48:02,120 Swift għandu exponentiating funzjoni mibnija. 867 00:48:02,120 --> 00:48:04,660 Jekk I importazzjoni Darwin, li huwa biss il-librerija li 868 00:48:04,660 --> 00:48:09,680 karatteristiċi din il-funzjoni tissejjaħ Pow, issa I jista 'jissimplifika qawwa tiegħi tal-funzjoni 869 00:48:09,680 --> 00:48:11,830 li jkun ġej. 870 00:48:11,830 --> 00:48:15,860 Huwa ser jirritorna din il-funzjoni anonima. 871 00:48:15,860 --> 00:48:17,950 >> Iżda tħares lejn kif sempliċi issa dan huwa. 872 00:48:17,950 --> 00:48:22,780 Din hija funzjoni anonimu li hija taċċetta xi tip ta 'data, 873 00:48:22,780 --> 00:48:26,600 u huwa se jkun wieħed argument speċifiku, 874 00:48:26,600 --> 00:48:29,320 referenza fl $ 0 li hija ta 'tip Double. 875 00:48:29,320 --> 00:48:32,680 Huwa ser jirritorna tip Double. 876 00:48:32,680 --> 00:48:35,760 Iżda l-istqarrija ritorn huwa issa impliċitu. 877 00:48:35,760 --> 00:48:39,990 >> U huwa dan l-istil eżatta li huwa ħafna, ferm prevalenti fil Swift, 878 00:48:39,990 --> 00:48:40,790 kollha fuq il-post. 879 00:48:40,790 --> 00:48:43,190 Aħna qed tmur biex tara din il-ħin kollu fil Swift. 880 00:48:43,190 --> 00:48:46,150 Hekk jien turi kollha ta 'dan li inti minħabba dan sintassi. 881 00:48:46,150 --> 00:48:49,070 Dan huwa komuni ħafna biex tara, li jfisser li 882 00:48:49,070 --> 00:48:51,420 hija funzjoni anonimu li qed iwettaq 883 00:48:51,420 --> 00:48:54,640 xi operazzjoni fuq dawn l-argumenti. 884 00:48:54,640 --> 00:48:56,940 U hemm qligħ impliċitu. 885 00:48:56,940 --> 00:49:01,850 Għalhekk huwa assolutament l-istess ħaġa għalina li ngħid dan, dritt hawn. 886 00:49:01,850 --> 00:49:05,730 887 00:49:05,730 --> 00:49:08,150 >> Minħabba dan kaboċċi bracket hija funzjoni, 888 00:49:08,150 --> 00:49:10,480 aħna qed iwettaq din l-operazzjoni fuq l-ewwel argument. 889 00:49:10,480 --> 00:49:12,170 Aħna qed tmur biex jirritorna dik. 890 00:49:12,170 --> 00:49:14,815 Iżda dan ir-ritorn ta 'barra huwa jirritornaw dik il-funzjoni sħiħa, 891 00:49:14,815 --> 00:49:19,855 dik il-funzjoni anonima kollu li konna biss maħluqa. 892 00:49:19,855 --> 00:49:21,689 Kwalunkwe mistoqsijiet oħra? 893 00:49:21,689 --> 00:49:23,980 Dritt kollox, I do not know jekk inti guys huma lesti għal dan, 894 00:49:23,980 --> 00:49:27,455 iżda nistgħu mmorru anki crazier ma Swift. 895 00:49:27,455 --> 00:49:28,560 Inti lest? 896 00:49:28,560 --> 00:49:29,930 OK, dan huwa kbir. 897 00:49:29,930 --> 00:49:35,310 >> Issa għandna attwalment ikollhom l-abbiltà li, fil Swift, minħabba kif modulari 898 00:49:35,310 --> 00:49:39,650 u kif bbażati protokoll huwa, li jiddefinixxu l-operaturi freaking tagħna stess. 899 00:49:39,650 --> 00:49:44,060 Bħal f'dan il-każ, kellna l-ebda operatur għall exponentiation-- tajjeb, 900 00:49:44,060 --> 00:49:47,990 għat-twettiq poteri ta 'xi ħaġa. 901 00:49:47,990 --> 00:49:53,632 Imma nista ', fil Swift, jiddefinixxu ġdida operatur li ma preċiżament dan. 902 00:49:53,632 --> 00:49:55,590 Allura f'dan il-każ hemm mazz ta 'sintassi hawn. 903 00:49:55,590 --> 00:49:59,980 U jien ser jippermetti li inti tħares lejn din id-dar meta inti tħares lejn din. 904 00:49:59,980 --> 00:50:06,890 Iżda aħna qegħdin jiddefinixxu dan Infix operatur, **, li mbagħad jippermetti magħna, 905 00:50:06,890 --> 00:50:09,840 billi jiddefinixxu dak li funzjoni ** attwalment 906 00:50:09,840 --> 00:50:15,010 ma, li taċċetta naħa tax-xellug u naħa tal-lemin, 907 00:50:15,010 --> 00:50:21,190 u mbagħad biex jirritorna l-esponent ta 'dak naħa tax-xellug biex il-lemin. 908 00:50:21,190 --> 00:50:24,850 >> U hekk issa kollha ta 'I f'daqqa ħolqu numeratur ġdid. 909 00:50:24,850 --> 00:50:29,490 Allura 2 ** 3 ifisser 2 għat-tielet enerġija. 910 00:50:29,490 --> 00:50:34,420 [Mind blowing ĦOSS] Dan billi innifsu għandha tagħmel inti tkun simili, 911 00:50:34,420 --> 00:50:37,960 OK, bil-kamin C. jien ser Swift it-triq kollha. 912 00:50:37,960 --> 00:50:38,740 Dan huwa kbir. 913 00:50:38,740 --> 00:50:40,140 Dan huwa pjuttost meraviljuż. 914 00:50:40,140 --> 00:50:42,240 >> Għalkemm dan huwa eżempju kbir. 915 00:50:42,240 --> 00:50:45,570 Imma jien qatt darba barra ta 'dan l-eżempju fil-fatt 916 00:50:45,570 --> 00:50:46,800 definit operatur tiegħi stess. 917 00:50:46,800 --> 00:50:49,710 Iżda xorta, dan juri lott tal-qawwa ta 'Swift 918 00:50:49,710 --> 00:50:54,050 u għaliex dan huwa attwalment verament ħafna jibred. 919 00:50:54,050 --> 00:50:55,832 OK, iva? 920 00:50:55,832 --> 00:50:57,790 UDJENZA: Jekk int tiddefinixxi operatur tiegħek stess, 921 00:50:57,790 --> 00:51:02,940 kif tkun taf inti ma aċċidentalment jippruvaw u joħolqu operatur li l- 922 00:51:02,940 --> 00:51:06,040 fil x'imkien fis-C, bħal moħbija x'imkien fil Swift, 923 00:51:06,040 --> 00:51:12,210 bħal waħda joskuraw li inti ma tista raw qabel. 924 00:51:12,210 --> 00:51:15,050 >> DAN Armendáriz: Mela jekk inti qed tipprova biex jiddefinixxu operaturi tiegħek, 925 00:51:15,050 --> 00:51:20,970 hemm ir-riskju ta 'definizzjoni wieħed fuq operatur eżistenti. 926 00:51:20,970 --> 00:51:24,870 Li tmur fil-livell ta 'dettall li Ma naħsibx li għandna ħin biex tmur fuq. 927 00:51:24,870 --> 00:51:27,620 Iżda dan huwa riskju. 928 00:51:27,620 --> 00:51:31,320 U li huwa fil-fatt ir-raġuni għaliex ħafna I ma jużawx is-simbolu caret, li 929 00:51:31,320 --> 00:51:36,210 meta aħna qed ittajpjar enerġija, aħna normalment użu 4 ftit caret 5 jew xi ħaġa 930 00:51:36,210 --> 00:51:40,560 bħal dik, biss meta nkunu Gchatting buddies jew ikun x'ikun. 931 00:51:40,560 --> 00:51:43,660 Iżda f'dak il-każ, li attwalment kellha mnejn tikkawża ħabta. 932 00:51:43,660 --> 00:51:46,450 U so I evitati hija biss minħabba I ġara li tkun taf f'dan il-każ 933 00:51:46,450 --> 00:51:50,430 li din tista 'tikkawża li ħabta. 934 00:51:50,430 --> 00:51:52,270 >> Kull dritt. 935 00:51:52,270 --> 00:51:55,080 Issa sfortunatament, għal l-aħħar seba 'minuti, 936 00:51:55,080 --> 00:51:57,410 I għandhom iżommu blowing imħuħ tiegħek ftit. 937 00:51:57,410 --> 00:52:00,230 Allura ippermettuli biex turi li inti xi affarijiet oħrajn ukoll. 938 00:52:00,230 --> 00:52:03,710 >> Imxejna murija inti din l-idea ta ' li dawn il-funzjonijiet anonimi, 939 00:52:03,710 --> 00:52:07,040 dan l-għeluq li jippermettu li inti tip ta 'pass funzjonijiet madwar. 940 00:52:07,040 --> 00:52:08,100 Inti tista 'tmur lura lilhom. 941 00:52:08,100 --> 00:52:09,490 Inti tista 'timmanipola minnhom. 942 00:52:09,490 --> 00:52:11,790 Tista 'tagħmel kull xorta ta' għalf crazy. 943 00:52:11,790 --> 00:52:14,850 >> Iżda ħaġa waħda oħra li jiġri li jkun utli 944 00:52:14,850 --> 00:52:19,740 huwa l-abbiltà li, għall-kuntrarju li jirritornaw dawk il-funzjonijiet 945 00:52:19,740 --> 00:52:25,146 fil-funzjoni, li jgħaddu funzjoni bħala parametru għall-funzjoni ieħor. 946 00:52:25,146 --> 00:52:30,430 Inti jista 'jkun ħsibijiet sew għaliex fid-Dinja kieku nixtieq li tagħmel xi ħaġa bħal dik? 947 00:52:30,430 --> 00:52:33,660 >> Well, ejja ngħidu li nixtieq li jieħdu din l-operatur li jien 948 00:52:33,660 --> 00:52:40,260 ħadmu tant diffiċli li joħolqu u japplikaw li mazz ta 'numri differenti 949 00:52:40,260 --> 00:52:41,770 fil-firxa. 950 00:52:41,770 --> 00:52:46,700 Allura f'dan il-każ għandi firxa ta ' integers-- 1, 4, 7, 2, 5, 10, 56. 951 00:52:46,700 --> 00:52:48,080 U nixtieq li tirdoppja lilhom kollha. 952 00:52:48,080 --> 00:52:50,430 Il-mod li aħna se tipikament tagħmel dan huwa li tikteb biss 953 00:52:50,430 --> 00:52:53,440 sempliċi għall loop li itenni aktar minn kollha kemm huma 954 00:52:53,440 --> 00:52:57,140 u jwettaq xi tip ta ' operazzjoni kwadru fuqhom, 955 00:52:57,140 --> 00:53:02,700 inputjar dawk il-valuri ġodda fis-ġdid varjabbli, jew minflok, firxa ġdid hawn. 956 00:53:02,700 --> 00:53:07,370 U l-valur tal-produzzjoni ta riżultat huwa mbagħad kollha ta 'dawk arrays, 957 00:53:07,370 --> 00:53:10,200 jew pjuttost dawk kollha Elementi issa kwadrat. 958 00:53:10,200 --> 00:53:12,680 >> U nistgħu nagħmlu l-istess ħaġa għall cubing dan, 959 00:53:12,680 --> 00:53:15,360 iżda qanpiena allarm ftit għandhom jkunu għaddejjin off 960 00:53:15,360 --> 00:53:17,360 qal li forsi hemm b'xi mod li nixtiequ 961 00:53:17,360 --> 00:53:19,860 tkun tista 'tissimplifika din ftit. 962 00:53:19,860 --> 00:53:21,130 U fil-fatt hemm. 963 00:53:21,130 --> 00:53:25,320 X'jiġri jekk nistgħu joħolqu funzjoni li jippermetti 964 00:53:25,320 --> 00:53:28,350 li taċċetta, bħala predatur, funzjoni? 965 00:53:28,350 --> 00:53:30,350 Allura f'dan il-każ, tieħu tħares lejn dawn l-argumenti. 966 00:53:30,350 --> 00:53:33,220 Aħna qed tmur biex jaċċettaw lista ta jirdoppja. 967 00:53:33,220 --> 00:53:35,030 U allura aħna qed tmur li taċċetta funzjoni 968 00:53:35,030 --> 00:53:40,990 fil-varjabbli msejħa f li ser li tieħu Double u r-ritorn ta 'Double. 969 00:53:40,990 --> 00:53:43,320 U l-produzzjoni kollha ta 'din il-funzjoni sħiħa 970 00:53:43,320 --> 00:53:47,310 imsejħa mapper se ritorn firxa imsejħa doppja. 971 00:53:47,310 --> 00:53:52,380 >> X'inhu dan imbagħad ippermettuli tagħmel huwa li jtenni fuq dik il-lista 972 00:53:52,380 --> 00:53:56,350 u jagħmlu l-istess ħaġa, iżda issa japplikaw dik il-funzjoni fuq kull 973 00:53:56,350 --> 00:53:58,970 tal-valuri individwali f'din il-lista. 974 00:53:58,970 --> 00:54:00,750 So I ma verament jafu liema f hu. 975 00:54:00,750 --> 00:54:02,010 Ma jimpurtax lili. 976 00:54:02,010 --> 00:54:06,530 Iżda sakemm li tkun ittieħdet fi Double, twettaq xi operazzjoni fuqha, 977 00:54:06,530 --> 00:54:08,640 u mbagħad jirritorna Double, I mbagħad tkun 978 00:54:08,640 --> 00:54:13,415 kapaċi jikklassifikaw dik il-funzjoni madwar kull element wieħed fil-lista. 979 00:54:13,415 --> 00:54:16,270 980 00:54:16,270 --> 00:54:20,930 >> U dan it-tip ta 'programmazzjoni imsejħa funzjonijiet ordni ogħla, 981 00:54:20,930 --> 00:54:24,440 fejn aħna qed tgħaddi funzjonijiet madwar bħala parametri 982 00:54:24,440 --> 00:54:26,430 u nagħmlu l-affarijiet ma 'funzjonijiet. 983 00:54:26,430 --> 00:54:29,640 Huwa tip ta 'bħal li jieħdu dawn kollha ideat li konna tgħallimna fil CS50 984 00:54:29,640 --> 00:54:31,390 u jeħodhom sort tal-livell li jmiss. 985 00:54:31,390 --> 00:54:34,140 U dan huwa kollu Jittieħed stil CS51. 986 00:54:34,140 --> 00:54:37,080 U hekk aħna ser imorru fil-fond aktar fil-klassijiet bħal dik. 987 00:54:37,080 --> 00:54:38,930 >> Iżda din hija wkoll importanti hawnhekk għaliex aħna 988 00:54:38,930 --> 00:54:42,010 tara ħafna ta 'funzjonijiet li huma użati fil Swift 989 00:54:42,010 --> 00:54:45,590 li essenzjalment ma dan, fejn għandna 990 00:54:45,590 --> 00:54:48,300 xi numri, xi firxa ta 'numri. 991 00:54:48,300 --> 00:54:50,850 Aħna qed tmur biex jgħaddu dik array fis mapper tagħna. 992 00:54:50,850 --> 00:54:55,770 U aħna qed wkoll ser jgħaddu xi funzjoni, li 993 00:54:55,770 --> 00:54:57,950 konna diġà definiti up here. 994 00:54:57,950 --> 00:54:59,690 Huwa ser ikunu kwadri. 995 00:54:59,690 --> 00:55:02,220 U aħna qed tmur biex imbagħad kwadru kollha ta 'dawk in-numri 996 00:55:02,220 --> 00:55:04,710 u jaħżnu dan in dan ir-riżultat hawnhekk. 997 00:55:04,710 --> 00:55:07,280 998 00:55:07,280 --> 00:55:11,000 >> Allura f'dan il-każ konna definit tagħna funzjoni stess imsejħa mapper. 999 00:55:11,000 --> 00:55:15,370 Iżda dan ħaġa eżatt huwa, fil-fatt, mibnija fis Swift. 1000 00:55:15,370 --> 00:55:18,960 Hemm varjetà ta ' funzjonijiet imsejħa mappa. 1001 00:55:18,960 --> 00:55:21,520 Hemm funzjoni mappa, hemm inaqqsu funzjoni, 1002 00:55:21,520 --> 00:55:25,630 u hemm funzjoni filtru, li essenzjalment tapplika funzjonijiet 1003 00:55:25,630 --> 00:55:30,782 għal kull element wieħed fil- lista sabiex ikunu modifikati b'xi mod. 1004 00:55:30,782 --> 00:55:34,510 >> UDJENZA: Allura peress li inti qed jittrasformaw id-data fil-format ieħor 1005 00:55:34,510 --> 00:55:36,134 permezz ta 'function-- 1006 00:55:36,134 --> 00:55:37,050 DAN Armendáriz: Dritt. 1007 00:55:37,050 --> 00:55:39,420 Yeah, hekk il-funzjoni li aħna qed taċċetta 1008 00:55:39,420 --> 00:55:41,790 qed jittrasforma d-data b'xi mod. 1009 00:55:41,790 --> 00:55:44,700 F'dan il-każ, konna jew jitħallas, jew konna cubing dan, 1010 00:55:44,700 --> 00:55:50,060 jew verament, nistgħu twettaq ebda operazzjoni fuqha fil-livelli kollha. 1011 00:55:50,060 --> 00:55:54,150 >> Iżda let me nuruk allura kif dan huwa ser tfittex fil-prattika. 1012 00:55:54,150 --> 00:55:56,681 U għal darb'oħra, jien tmexxija ta ' ftit ta 'żmien. so I am not 1013 00:55:56,681 --> 00:55:59,430 ser ikunu jistgħu jmorru fuq kollha tas-source code hawn fid-dettall. 1014 00:55:59,430 --> 00:56:00,721 Imma I ninkoraġġukom biex tagħmel dan. 1015 00:56:00,721 --> 00:56:03,850 Aħna ser jimpustah hekk kif jista 'jkun wara dan talk. 1016 00:56:03,850 --> 00:56:07,610 >> Imma jekk inti tagħti ħarsa lejn dan, jassumi li għandna lista ta 'numri, 1017 00:56:07,610 --> 00:56:10,260 firxa ta 'numri f'dan imsejħa numri varjabbli. 1018 00:56:10,260 --> 00:56:16,670 Imbagħad irridu biex iwettqu dan operazzjoni filtru fuq dawn in-numri. 1019 00:56:16,670 --> 00:56:19,730 Allura filtru huwa ogħla funzjoni ordni li 1020 00:56:19,730 --> 00:56:24,660 taċċetta firxa u wkoll funzjoni. 1021 00:56:24,660 --> 00:56:28,760 U fuq kull element f'dik firxa, li jwettaq dik il-funzjoni. 1022 00:56:28,760 --> 00:56:31,990 >> Jekk dik prospetti funzjoni veru, iżomm dik il-partita. 1023 00:56:31,990 --> 00:56:36,100 Jekk dik il-funzjoni jirritorna falza, tixħet bogħod dik il-partita. 1024 00:56:36,100 --> 00:56:40,480 U allura dan jirritorna lista li mbagħad magħmul kollu 1025 00:56:40,480 --> 00:56:44,360 ta 'dawk l-oġġetti li ġew ffiltrat. 1026 00:56:44,360 --> 00:56:47,150 >> Allura fi kliem ieħor, dan huwa l-istess idea, il gradebook. 1027 00:56:47,150 --> 00:56:50,800 Aħna jista 'jkollhom varjetà ta' gradi fis Dan il-valur ċemplu numri. 1028 00:56:50,800 --> 00:56:55,590 Jista 'jkun ta' 100, u 70, u 40, hekk u ibqa 'sejjer hekk. 1029 00:56:55,590 --> 00:56:59,110 X'inhu dan il-filtru ma huwa avviż li dan huwa li z-zokkor sintattika 1030 00:56:59,110 --> 00:57:01,310 għal funzjoni anonima. 1031 00:57:01,310 --> 00:57:05,980 Din hija funzjoni anonimu qal li l-parametru li jien taċċetta 1032 00:57:05,980 --> 00:57:09,690 se tkun, jekk huwa akbar minn 70, 1033 00:57:09,690 --> 00:57:15,837 allura dan se terġa 'lura veru, li jfisser li dik il-partita se jinżamm f'din il-filtru. 1034 00:57:15,837 --> 00:57:17,920 Mela ejja tkun xi ftit aktar konkreta dwar dan. 1035 00:57:17,920 --> 00:57:25,760 Jekk ikolli dan firxa ta 'numri u dan jikkonsisti minn 100, 70, u 40, 1036 00:57:25,760 --> 00:57:29,730 I twettaq dan il-filtru operazzjoni fuq kull wieħed minn dawn. 1037 00:57:29,730 --> 00:57:33,270 Allura li l-ewwel wieħed huwa dan il-valur ta '100. 1038 00:57:33,270 --> 00:57:36,770 100 ikbar minn jew ugwali sa 70 hija vera, li 1039 00:57:36,770 --> 00:57:41,950 ifisser li 100 jinżamm fil din il-kopja ġdida ta 'dan array. 1040 00:57:41,950 --> 00:57:44,290 70. jgħaddi wkoll. 1041 00:57:44,290 --> 00:57:46,020 Iżda 40 ma. 1042 00:57:46,020 --> 00:57:54,290 Allura dak li huwa rritornat fl passingCount huwa l-firxa ta 'elementi 100 u 70-- 1043 00:57:54,290 --> 00:57:57,410 100, comma, 70. 1044 00:57:57,410 --> 00:57:59,870 Dawn kienu l-uniċi żewġ oġġetti li kienu jinżammu. 1045 00:57:59,870 --> 00:58:03,740 U għalhekk l-raġuni I malajr marru permezz ħafna minn dawn it-tip ta 'ordni għolja 1046 00:58:03,740 --> 00:58:08,680 affarijiet huma għaliex dan huwa dak komuni ħaġa li se tara fil Swift pretty 1047 00:58:08,680 --> 00:58:16,810 spiss, qed iwettaq xi operazzjoni jużaw dan sintassi funzjoni anonima. 1048 00:58:16,810 --> 00:58:18,450 >> Hemm xi għalf jibred. 1049 00:58:18,450 --> 00:58:24,730 Swiċċijiet huma verament b'saħħtu fil Swift, I tfisser bħad crazy, b'saħħtu crazy. 1050 00:58:24,730 --> 00:58:28,250 Tista 'tuża swiċċ, u inti tista 'attwalment tapplika għalihom 1051 00:58:28,250 --> 00:58:33,160 li meded, li huwa tip ta 'crazy, u tagħmel għalf fancy bħal dik. 1052 00:58:33,160 --> 00:58:37,540 >> Iżda fl-aħħar ftit minuti, Irrid li skip quddiem pjuttost bogħod 1053 00:58:37,540 --> 00:58:46,940 u nuruk eżempju speċifiku ta 'kif nistgħu noħolqu fl app IOS użu Swift. 1054 00:58:46,940 --> 00:58:49,040 Allura meta int tagħmel dan, inti ser ikollok tieħu 1055 00:58:49,040 --> 00:58:51,990 ħarsa at-- fuq Apple dokumentazzjoni, huma 1056 00:58:51,990 --> 00:58:56,084 għandhom ħafna ta 'tutorials verament tajba għall-ħolqien ewwel applikazzjoni tiegħek. 1057 00:58:56,084 --> 00:58:58,250 U inħeġġiġkom biex tagħmel li minħabba li huma jieħdu inti 1058 00:58:58,250 --> 00:59:04,110 permezz l-passi ta 'x'inhi eżattament għall ikklikkja fuq biex toħloq applikazzjoni IOS. 1059 00:59:04,110 --> 00:59:07,290 >> Iżda hawnhekk għandna dan app IOS. 1060 00:59:07,290 --> 00:59:10,960 U huwa app pretty sempliċi verament. 1061 00:59:10,960 --> 00:59:13,840 Jekk I run dan, let me juru inti dak li jidher qisu. 1062 00:59:13,840 --> 00:59:19,480 Kull ma essenzjalment ma huwa jiġbed mill-internet fajl JSON 1063 00:59:19,480 --> 00:59:22,300 li jien maħżuna fuq server. 1064 00:59:22,300 --> 00:59:26,310 U dan il-fajl JSON jiddefinixxi immaġini li jippermettu 1065 00:59:26,310 --> 00:59:31,680 me imbagħad ċiklu permezz, fuq tiegħi app, immaġini minn web server tiegħi. 1066 00:59:31,680 --> 00:59:32,880 >> So I hawn getNextImage. 1067 00:59:32,880 --> 00:59:37,100 Tagħbijiet ta 'immaġni mill-internet, u mbagħad displays fuq l-iskrin. 1068 00:59:37,100 --> 00:59:38,200 >> Allura huwa pjuttost sempliċi. 1069 00:59:38,200 --> 00:59:41,550 Iżda l-għan hawnhekk huwa li turi inti kif nistgħu ngħaqqdu affarijiet 1070 00:59:41,550 --> 00:59:47,820 mill-aħħar ftit ġimgħat ta 'CS50 f'applikazzjoni IOS attwali. 1071 00:59:47,820 --> 00:59:53,140 Fi kliem ieħor, forsi wieħed tal- affarijiet li inti se tkun trid tagħmel 1072 00:59:53,140 --> 00:59:56,340 għandu jkollha applikazzjoni IOS li jistgħu jiġbdu data mill-internet 1073 00:59:56,340 --> 00:59:59,070 u juru l-utent xi informazzjoni. 1074 00:59:59,070 --> 01:00:03,130 Li hija għal kollox il-punt ta 'dan il-kodiċi tas-sors hawnhekk. 1075 01:00:03,130 --> 01:00:07,890 >> Allura hemm ħafna li jingħad dwar kif jagħmlu iżvilupp attwali IOS. 1076 01:00:07,890 --> 01:00:12,860 Hemm ħafna ta 'sintassi crazy li ma rajniex għadhom pjuttost 1077 01:00:12,860 --> 01:00:15,580 bħal klassi, liema klassi fatt hu. 1078 01:00:15,580 --> 01:00:19,470 Aħna prinċipalment jistax jinjora li għalissa. 1079 01:00:19,470 --> 01:00:23,250 >> Iżda avviż li għandna jinsabu fi ħdan dan il varjetà ta 'affarijiet 1080 01:00:23,250 --> 01:00:27,720 li aħna stajt diġà raw bħal funzjonijiet li għandhom ismijiet speċifiċi. 1081 01:00:27,720 --> 01:00:32,650 U meta aħna nagħtu dawk funzjonijiet l-ismijiet korretti 1082 01:00:32,650 --> 01:00:36,530 li huma mistennija minn IOS, fil-fatt dan iħoss ftit maġika. 1083 01:00:36,530 --> 01:00:40,300 Imma meta inti toħloq applikazzjoni IOS, hemm 1084 01:00:40,300 --> 01:00:47,590 huma ismijiet funzjoni speċifika li huma msejħa mill-telefon stess 1085 01:00:47,590 --> 01:00:52,440 l-applikazzjoni huwa tagħbija li tipprova biex jinħolqu l-proċess li attwalment 1086 01:00:52,440 --> 01:00:54,787 runs applikazzjoni tiegħek. 1087 01:00:54,787 --> 01:00:58,120 Għalhekk għal darb'oħra, hemm ħafna affarijiet li I għandek tinjora hawn sabiex għalina 1088 01:00:58,120 --> 01:01:00,570 biex jitkellmu dwar dan b'mod speċifiku. 1089 01:01:00,570 --> 01:01:06,050 Imma I ninkoraġġukom biex tħares lejn forsi il seminar IOS oħra, iżda wkoll xi 1090 01:01:06,050 --> 01:01:09,290 tal-online tutorials li jagħmlu xogħol aħjar jiġu deskritti 1091 01:01:09,290 --> 01:01:11,030 l-informazzjoni speċifika. 1092 01:01:11,030 --> 01:01:15,760 >> Iżda nistgħu naraw ftit affarijiet li huma interessanti mill-kodiċi hawn. 1093 01:01:15,760 --> 01:01:17,950 Avviż li għandna jekk dikjarazzjonijiet. 1094 01:01:17,950 --> 01:01:20,400 Mill-mod, wieħed importanti ħaġa dwar jekk id-dikjarazzjonijiet 1095 01:01:20,400 --> 01:01:24,860 huwa li l-parentesi madwar id- Espressjoni Boolean huma fakultattivi. 1096 01:01:24,860 --> 01:01:30,800 Iżda l-braces kaboċċi mhumiex obbligatorji, ebda kwistjoni kif ftit jew ħafna linji ta 'kodiċi 1097 01:01:30,800 --> 01:01:32,360 għandek fi jekk dikjarazzjoni. 1098 01:01:32,360 --> 01:01:38,670 Inti ma jistax ikollu jekk dikjarazzjonijiet mingħajr ċingi kaboċċi fil Swift. 1099 01:01:38,670 --> 01:01:41,000 >> U dan huwa, ukoll, tip ta 'iblah. 1100 01:01:41,000 --> 01:01:43,910 Iżda hemm raġunijiet storiċi għal dan. 1101 01:01:43,910 --> 01:01:46,180 Huwa suppost biex tiffranka mill yourself. 1102 01:01:46,180 --> 01:01:49,899 Bħal dan per eżempju, inti ma tistax jeliminaw l-braces kaboċċi madwar li 1103 01:01:49,899 --> 01:01:50,440 jekk id-dikjarazzjoni. 1104 01:01:50,440 --> 01:01:52,730 Dawk huma fil-fatt meħtieġa. 1105 01:01:52,730 --> 01:01:54,480 So I ninkoraġġukom biex tagħti ħarsa lejn dan. 1106 01:01:54,480 --> 01:01:56,230 Iżda hemm wieħed aktar jibnu li nixtieq 1107 01:01:56,230 --> 01:02:02,640 biex turi li inti dwar Swift li huwa ġdid għall Swift 2.0 mqabbla 1108 01:02:02,640 --> 01:02:08,460 għall-verżjonijiet anzjani ta 'Swift, li huwa dan li ġej. 1109 01:02:08,460 --> 01:02:11,620 Ejja naraw fejn ma nressaq hawn? 1110 01:02:11,620 --> 01:02:16,630 >> Allura f'dan il-funzjoni tissejjaħ fetchJSON, din il-funzjoni 1111 01:02:16,630 --> 01:02:23,450 huwa responsabbli għall-ġbid li JSON fajl minn URL, li biss hekk jiġri 1112 01:02:23,450 --> 01:02:26,310 li tkun qed taħdem fuq IDE CS50 tiegħi. 1113 01:02:26,310 --> 01:02:28,580 I biss bdiet Apache, jitqiegħdu fajl JSON tiegħi hemm, 1114 01:02:28,580 --> 01:02:32,110 u jien kapaċi li mbagħad iġbed li data mill-internet bl-użu 1115 01:02:32,110 --> 01:02:36,430 din il-funzjoni u dan il-URL, li hija pprovduta mill-telefon. 1116 01:02:36,430 --> 01:02:40,490 Huwa pprovdut minn librerija li tuża meta 1117 01:02:40,490 --> 01:02:43,140 int tagħmel xi żvilupp app IOS. 1118 01:02:43,140 --> 01:02:49,690 >> Avviż hawnhekk li hemm din mhux tas-soltu jibnu sintattika imsejħa gwardja. 1119 01:02:49,690 --> 01:02:53,530 U verament dan kollu huwa Swift huwa mod ta 'verifika 1120 01:02:53,530 --> 01:02:56,870 li xi affarijiet għandek ġew sodisfatti qabel ma 1121 01:02:56,870 --> 01:03:00,000 jipproċedi mal-bqija tal-funzjoni. 1122 01:03:00,000 --> 01:03:04,260 So I jista 'jkollhom, bl-użu dan it-tip fakultattiv, 1123 01:03:04,260 --> 01:03:10,530 I setgħetx tikkunsidra l-URL mill running din il-funzjoni NSURL 1124 01:03:10,530 --> 01:03:16,640 u ħażna li fi URL kostanti, u mbagħad iċċekkjar 1125 01:03:16,640 --> 01:03:20,820 biex tara jekk URL kien xejn, minħabba li kienet se jirritorna tip fakultattiv. 1126 01:03:20,820 --> 01:03:25,660 U jekk kien xejn, imbagħad I se jistampa żball u mbagħad jirritornaw. 1127 01:03:25,660 --> 01:03:29,970 >> Iżda minflok, dak gwardja tikri us tagħmel huwa li ħaġa ħafna, 1128 01:03:29,970 --> 01:03:34,550 iżda jiġi żgurat li huwa fil-fatt il-każ li url 1129 01:03:34,550 --> 01:03:38,020 ġie stabbilit kif suppost mill NSURL. 1130 01:03:38,020 --> 01:03:41,810 U jekk huwa, allura skips fuq dan, u 1131 01:03:41,810 --> 01:03:46,110 se jippermetti li inti biex jipproċedi bil url li ġew definiti kif xieraq. 1132 01:03:46,110 --> 01:03:48,830 Iżda jekk huwa l-każ li url mhuwiex definit sew, 1133 01:03:48,830 --> 01:03:52,550 jekk din il-funzjoni jirritorna żball jew xi ħaġa mhux mistennija oħra 1134 01:03:52,550 --> 01:03:58,030 fatt iseħħ, dan tibni gwardja jippermetti li mbagħad output dan l-iżball 1135 01:03:58,030 --> 01:04:00,390 u r-ritorn immedjatament. 1136 01:04:00,390 --> 01:04:00,890 Iva? 1137 01:04:00,890 --> 01:04:04,839 >> UDJENZA: Allura huwa tip ta qisni jekk allura ieħor? 1138 01:04:04,839 --> 01:04:07,130 DAN Armendáriz: Huwa tip ta ' bħal jekk imbagħad ieħor, iva, 1139 01:04:07,130 --> 01:04:14,200 ħlief li dan url huwa mbagħad definit għal kollox taħt dan. 1140 01:04:14,200 --> 01:04:20,420 Jekk tgħaddi din gwardja, allura fil-fatt se tkun mimlija bl-data 1141 01:04:20,420 --> 01:04:29,500 u li jistgħu jintużaw fil-bqija kodiċi tas-sors fil-funzjoni tiegħek. 1142 01:04:29,500 --> 01:04:33,790 So I tissuspetta li inti qed tmur biex tibda tara dan gwardja ukoll. 1143 01:04:33,790 --> 01:04:36,670 U tkun konxja ta 'dan. 1144 01:04:36,670 --> 01:04:46,270 >> Hekk biss tħares lejn koppja ta 'oħrajn affarijiet, dan id-dritt hawnhekk huwa dak, 1145 01:04:46,270 --> 01:04:53,377 do you think, biss ibbażat fuq dak konna nitkellmu dwar qabel? 1146 01:04:53,377 --> 01:04:56,650 >> UDJENZA: Aħseb li ser imexxu fil-lista? 1147 01:04:56,650 --> 01:04:59,100 >> DAN Armendáriz: Allura dak qrib. 1148 01:04:59,100 --> 01:05:02,360 Din hija funzjoni li aħna qegħdin jiddefinixxu. 1149 01:05:02,360 --> 01:05:07,240 U aħna qed tiddaħħal id dik il-funzjoni bħala argument biex din il-funzjoni hawnhekk. 1150 01:05:07,240 --> 01:05:09,120 >> UDJENZA: [inaudible] jekk mhux xejn. 1151 01:05:09,120 --> 01:05:11,470 Allura huwa fil-lista, id-dritt? 1152 01:05:11,470 --> 01:05:15,450 >> DAN Armendáriz: Jekk iżball mhuwiex xejn, b'tali mod li is-- so I jkollhom tiskrollja. 1153 01:05:15,450 --> 01:05:18,060 Well, ejja ara, I ma jistgħux verament iscroll lejn il-lemin hawn. 1154 01:05:18,060 --> 01:05:23,161 żball huwa argument li qed mgħoddi lill din il-funzjoni anonima. 1155 01:05:23,161 --> 01:05:24,410 Din hija funzjoni anonimu. 1156 01:05:24,410 --> 01:05:25,480 Hija għandha l-ebda isem. 1157 01:05:25,480 --> 01:05:29,850 Iżda aħna qed taċċetta dawn it-tliet argumenti, data, rispons, u żball. 1158 01:05:29,850 --> 01:05:33,590 U huwa se jirritornaw null, hekk mhuwiex ser jirritornaw xejn. 1159 01:05:33,590 --> 01:05:37,910 U dan huwa l-kontenut ta 'dik il-funzjoni. 1160 01:05:37,910 --> 01:05:41,961 U allura għandna aċċess ġewwa li funzjoni għal kull wieħed minn dawn l-argumenti. 1161 01:05:41,961 --> 01:05:45,650 1162 01:05:45,650 --> 01:05:48,679 >> Allura huwa whirlwind tour tal-lingwa. 1163 01:05:48,679 --> 01:05:50,470 Imma nispera ma 'dan, nisperaw kif inti tieħu 1164 01:05:50,470 --> 01:05:54,490 ħarsa lejn uħud mill-tutorials speċifika għall-iżvilupp IOS ma Swift, 1165 01:05:54,490 --> 01:05:57,481 speċjalment jekk inti tmur biex Apple iżviluppatur web page-- 1166 01:05:57,481 --> 01:05:59,980 li għandhom ħafna ta verament tajba tutorials biex tibda. 1167 01:05:59,980 --> 01:06:05,010 Iżda nisperaw biss f'din is-siegħa ta 'titkellem dwar il-sintassi stess tkun tat 1168 01:06:05,010 --> 01:06:08,760 inti biżżejjed biex tibda ma 'dak. 1169 01:06:08,760 --> 01:06:12,950 >> Aħna ser post kollha ta 'dan is-sors kodiċi fuq il-websajt seminar 1170 01:06:12,950 --> 01:06:17,800 aktar fis possibbli, u wkoll il-pjastri hekk ikollok referenza għal dawk kollha. 1171 01:06:17,800 --> 01:06:20,530 Iżda Xorti tajba ma 'proġetti tiegħek. 1172 01:06:20,530 --> 01:06:23,640 U nirringrazzjak kollha ħafna għall ġejjin. 1173 01:06:23,640 --> 01:06:26,990 >> [Applause] 1174 01:06:26,990 --> 01:06:28,026