[Mūzikas atskaņošanai] SPEAKER 1: Tas ir CS50 un Tas ir beigas nedēļas septiņi. Šodien ir iespējams, ja mēs tiešām mācību jums valodas. Mēs ieviesa pēdējo pāris nedēļas HTML un CSS, no kurām neviena ir programmēšanas valodas. Un tiešām, kaut arī mēs neesam apskatīt gandrīz visus tagus ka HTML nāk ar un gandrīz visi īpašību, kas CSS nāk ar, tas ir sava veida tā, lai HTML un CSS. Mēs vienkārši parasti sākt pieņemot, ka jums izprast vispārējos idejas tagus un atribūtus, un lapas tiek nosūtīts no klienta uz serveri. Tāpēc, ka šodien mēs sākam aplūkot citu programmēšanas valodu, PHP. Mēs ejam, lai to izdarītu, super ātri. Mēs nebrauksim, lai mācīt jūs PHP per se, līdzīgi mums nebija tiecamies mācīt jums C, per se, bet gan programmēšana. Un tiešām, viens no mērķi šo kursu nav mācīt jums C, vai HTML vai CSS, vai PHP, vai kādu citu skaits buzz vārdi vai akronīmi, bet drīzāk datorzinātnes un kā programma pamatos. Un tiešām, šodien sākam lietot šie mācību riteņi pie visiem tālāk, kas peld caur valodā sauc PHP šādi. Te ir tas, ko šī valoda izskatās. Izrādās, ka nav nepieciešama galvenais funkcija programmā rakstīts valodā sauc PHP. Tā, ka jau izklausās mazliet vienkāršāku par C, ar kuru mēs esam pazīstami. Izrādās, ka, ja jums vēlas deklarēt mainīgo, jūs darīt to gandrīz identiski C. Bet tur ir skaidri viena atšķirība šeit kad es apliecinu virkne, vai varbūt divas atšķirības. Kas izskatās citādi? Mērķauditorija: Dolāra zīme. SPEAKER 1: Jā, tur ir dolārs parakstīt, ko mēs nekad neesmu redzējis. Un kas ir pazudis? Yeah? Mērķauditorija: [dzirdams] SPEAKER 1: Jā, tur nav datu tips. Tātad izrādās, ka PHP ir tas, ko mēs zvanīt brīvi drukātā valodu, kur C ir stipri drukāti. Brīvi drukāti tikai nozīmē, ka ir dažādi datu veidi, ir stīgas, un Ints un pludiņi. Bet dators skaitļi, ka no. Tu cilvēka programmētājs nav skaitlis tas. Tātad viss, kas jums jādara, atzīt mainīgais ir Dolāra zīme, vārds Jūsu mainīgs, un pēc tam, piemēram, quote likt pēdiņas beigās, hello world. Nu tas ir tas, kas Stāvoklis izskatās PHP. Jebkādas atšķirības? Nē. Tātad izrādās, tie ir identiski. Un jūs varētu būt mazāk Nozares vai vairākas filiāles, bet sintaksi pagriezienus ārā tieši tāds pats. Būla izteiksmes var pasūtīt kopā. Būla izteiksmes var anded kopā. Jums vēl ir slēdži. Pat ja jūs neesat izmantojis tie, tie pastāv C un viņi funkcionāli ekvivalents PHP. Un patiesībā, PHP viņi nedaudz spēcīgāks. C, var salīdzināt tikai dažu datu tipi, piemēram, ints un chars, tā kā PHP jūs faktiski var salīdzināt pilnu apaugt spalvām stīgas, neradot jāuztraucas par norādes un tamlīdzīgi. Tātad, šeit ir par cilpu. Tas ir tikai pseudocode kods, ja Jums gribas. Bet strukturāli tas ir identisks C. Lūk, kamēr cilpa, pseudocode therefore-- identisks C. Lūk darīt, kamēr loop-- identiski. Un tāpēc tur ir sava veida šis raksts šeit, saskaņā ar kuru tur ir dažas citas sintaktisko iezīmes mēs patiešām gatavojas, lai redzētu. Patiesībā, šeit ir jauka Veids, PHP, saskaņā ar kuru, ja jūs vēlaties atkārtot pa masīvu, un jūs negribu lēkt cauri garīgās un sintaktiskie stīpām, kam int i ir 0, i mazāk nekā n, i plus plus-- kas ir tikai daudz kaitinošas sintaksi. Jūs varat teikt, mazliet vairāk fluīdsavienojumā par katru numuru kā skaita, kur šajā gadījumā dolāra zīmi numuri, es esmu pieņemot, ir kā masīvu sauc numuriem. Un tad es esmu pieņemot numurs, vienskaitlī, būs mainīga. Un ko PHP darīs man kā es atkārtot virs šīs cilpas ir, par katru atkārtojuma, tas notiek atjaunināt mainīgo numuru būt kārtējā elements numuriem, daudzskaitlī. Tātad tas vienkārši rokturi visiem, kas par mani. Nē kvadrātiekavas, nē Dolāra zīme, nav semikoli. Tas ir tikai nedaudz vienkāršāka. Nu, ja jūs vēlaties, masīvs, izrādās, tu var darīt kaut ko diezgan līdzīgu C. Sintakse ir nedaudz atšķirīgs. Bet šeit ir masīvs sauc Dolārs parakstīts numurus. Un es izmantot, PHP, kvadrātveida kronšteini, izrādās. Un mēs ejam, lai redzētu tos atkal in JavaScript-- vēl viena valoda. Es tikai izmantot kvadrātiekava notācija lai būtu komatu atdalīti veseli skaitļi, kas šajā gadījumā. Bet tas dod man masīvu. Bet pat jaudīgākas PHP, mums ir arī tas, ko parasti sauc asociatīvas masīvi. Un daudz valodu ir šiem, kā arī. Lieta par C masīvi ir tas, ka indeksi par masīvu, lieta, kas jums izmantot kvadrātiekavās, caur kuru Jums piekļūt elementiem, ir jābūt, ko? Mērķauditorija: [dzirdams] SPEAKER 1: Tiem jābūt numuriem vai veseli skaitļi, tieši no nulles uz augšu. Nu, PHP, un, izrādās out, citās valodās, Jūs varat sākt, lai būtu indeksi, kas nav ciparu. Bet viņi patiesībā vārdi vai frāzes, tā, ka tā vietā mēģināt atcerēties, kur kaut ko ir, vai glabājas mainīgo i, jūs faktiski var izmantot vārdu un pateikt that-- jūs varat pateikt vārdu, kā šis. Tātad dolāra zīme quote ir nosaukuma mainīgo šeit. Tas ir nedaudz bailīgs sintakse tas apvienojas divi galvenie vērtību pāri šim mainīgajam. Konkrēti, tas dod man masīvs, kas ir garums 2. Bet indeksu nav 0 un 1. Indeksi ir quote likt pēdiņas beigās simbols un citējot likt pēdiņas beigās cenu. Un vērtības šiem indeksiem, attiecīgi, ir FB Facebook un 79,53 $, kad es pēdējo reizi pārbaudīts cenu par to. Ko tas nozīmē? Nu, tas nozīmē, ka nevis rakstīšanas kodu kā šis, kur es mēdzu darīt kaut ko tāpat dolāru sign-- vai drīzāk, C Es pat nebūtu dolāra zīmi. Es vēlētos kaut ko darīt piemēram, citātus un pēc tam Es darītu kronšteinu i, lai saņemtu dažus patvaļīgi skaitliski indeksētas vērtību. Sākot no šodienas PHP, ja jums vēlos saņemt kādā vērtībā, mēs veida ir vairāk semantiskā ekspresija. Tikai iedomātā veids, kā pateikt, mēs varam zvaniet lietas, ko viņi ir. Un, ja jūs vēlaties, lai saņemtu kaut ko simbols, Tagad jūs burtiski darīt citēt likt pēdiņas beigās simbolu kvadrātiekavās nevis tikai numuru. Tātad tas ir jauki ērtības. Un tas ir sava veida to tagad. Tur ir ķekarus citas funkcijas PHP. Un tiešām, PHP nāk ar proverbial virtuves izlietnes. Desmitiem, simtiem funkciju nāk ar PHP-- tik daudz vairāk nekā nāca ar C. Un tas nav paredzēts apbērt bet gan palīdzēt tu saproti, ka mums vairs vairs nav rakstīt kodu tas ir sava veida leju šeit konceptuāli. Tagad mēs varam tikai sākt izmantot par daudz uzlabotas funkcijas ka valodas, piemēram, PHP ir. Tātad mums nav jāuztraucas par pārvietojas lietas apkārt atmiņā. Mums nav jāuztraucas par malloc un visi šie zemākā līmenī, spēcīgi informāciju, kas jums būs cīnīties ar, ja ne cīņa ar, pset5, bet jūs varat sākt drīz par pašsaprotamu. Patiesībā, pieņemsim uzrakstīt super vienkārša programma PHP šādi. Es iešu galvu CS50 IDE šeit, un tas, ko es esmu gatavojas darīt ir izveidot jaunu failu, kas ir ļoti vienkārši gatavojas saukt sveiki dot PHP. Tā vietā, lai dot C, tas ir gatavojas saukt dot PHP. Un tad šajā failā, Es varu sākt rakstīt. Bet izrādās, ka viena lieta, man ir jāzina ir tas, ka jebkurš PHP failu kopumā, ir vajadzīga sākt ar kādu īpašu sintaksi. Līdzīga garā uz HTML, bet atkal, PHP ir programmēšanas valoda, kas nav iezīmēšanas valoda. Tātad katru failu, un tas ir sava veida stulba meklē es ņemšu uzņemt. Atvērt kronšteins, jautājuma zīme, PHP. Un tas ir tikai valoda veids, kā pateikt, hey, dators šeit nāk daži kodu uzrakstīts valodā sauc PHP. Un tad pašās beigās jūsu failu, jums veida veida otrādi. Jums nav rakstīt PHP atkal, jūs vienkārši do jautājuma zīme, leņķa kronšteinu. Un tad kaut kas jūs likts iekšā Šo divu tagiem, tā sakot, būs, vai vajadzētu būt, PHP kods. Tātad, pieņemsim kaut super vienkāršu darīt. Es esmu gatavojas iet uz priekšu un darīt drukāt def, hello world, slīpsvītru n, saglabāt. Un tagad pie mana uzvednē, es esmu gatavojas darīt, darīt hello-- nē, es esmu gatavojas darīt, dot slash sveiki. Nē, dot slash, hm. Tātad kaut kas ir atšķirīgs. Un tiešām, tas ir galvenais atšķirība starp PHP un valodās, piemēram, C. C bija tā sauktā apkopoti valoda. Ko tas nozīmē C jāapkopo? Kāds bija saistība? Jā. Mērķauditorija: Rakstīja to mašīnu kodu lai tā varētu vadīt ar datoru. SPEAKER 1: Tieši tā. Mums vispirms konvertēt to tā sauktais mašīna kods, nullēm un uzņēmumiem, pirms tas faktiski būs izpildāms un saprotams, ar datoru. Intel iekšpusē. CPU iekšpusē datora. PHP, gluži pretēji, ir tas, ko sauc interpretēts valoda, kas nozīmē, ka jums nav sastādīt to uz nullēm un tiem, mašīnu kodu, tu nevis atstāt to kā avota kodu. Un jūs, nevis nodot to kā priekšnodokli ar programmu, tulks ka kāds cits rakstīja Pirms gadiem, kas saprot to pozīcijai, raksturu un raksturs. Tātad citiem vārdiem sakot, cilvēki, kas tur rakstīja programma, kas izskatīsies Jūsu kodu pozīcijai, un izdomāt, ko dators vajadzētu darīt, nepārvēršot to tieši nullēm un uzņēmumiem. Tātad, ja tas redz uz cilpas, šī tā sauktā tulks būs tāpat, visas tiesības, es kaut ko darīt atkal un atkal un atkal. Kas man jādara? Ļaujiet man apskatīt nākamajā rindā. Ļaujiet man apskatīt nākamajā rindā. Un tas patiesi interpretē to pozīcijai. Tātad to izpildīt, es nedomāju izmantot marku. Man nav izmantot dot slīpsvītru šajā gadījumā. Es tā vietā darīt PHP, kas ir nosaukums, programmas, pazīstams arī kā Tulks, kas ir iepriekš uzstādītas CS50 IDE, un tagad man nepieciešams iziet komandrindas arguments, kas gluži vienkārši nosaukums no fails, kas es gribu interpretēt. Vai vēl pagadās, ka es vēlos, lai palaistu. Un, ja es hit Enter, tur mums ir tā. Sveika pasaule. Tagad izrādās, ka es lietota print def apzināti novērst mūs no C uz PHP. Lielākā daļa PHP programmētāji, kā jūs redzēsiet, nav pat apnikt, izmantojot drukas Def. Viņi vienkārši izmantot funkciju sauc print, kas C nebija. Un tāpēc, ja es atkārto to tagad, tas faktiski uzvedas funkcionāli to pašu. Es nevaru izmantot procentiem s un procenti i un tā tālāk, bet ir citi veidi PHP darot to. Bet tas ir tikai uz saka, ka sintaktiski, izņemot dažās dīvainas lietas augšu top, un daži dīvaini simboli leju apakšā, jēdzieni tagad no programmēšana šajā citā valodā gribam būt tieši tāds pats. Patiesībā, pieņemsim darīt vienu citu piemēru. Tāpēc es esmu gatavojas iet uz priekšu un slēgt šo failu. Ļaujiet man izveidot vēl vienu, kas Es aicinu nosacījumus 1 dot PHP. Līdz ar to nav nulle, jo tas, ko es darīju bija Es paskatījos atpakaļ pirms pāris nedēļām, mums bija failu ar nosaukumu nosacījumi 1 dot C. Un ko Es tā tika pārveidota to manu galva, un kas šeit uz papīra, un drīz uz kursu s mājas lapa, pozīcijai uz PHP. Tātad C versijā, mēs kaut ko tāpat stīgu s izpaužas saņemt virkni. Tātad, tas ir nedaudz atšķirīgs to darīt, ka PHP. Tā vietā, es esmu tikai gatavojas ko darīt, vai drīzāk, es varēja izdarīt int n izpaužas nokļūt int, šajā piemērā agrāk. Tā vietā, ka es esmu gatavojas darīt n izpaužas lasīt līniju, es gribētu vesels skaitlis, lūdzu. Tātad tas ir tikai mans tūlītēja. Un tā izrādās, un Es būtu tikai zinu no izlasot vai redzējis funkciju pirms, lasīt līnijas funkcija PHP ņem argumentu, kas ir ātra par cilvēku, un tās mērķi dzīvē ir lasīt teksta rindiņu ka viņš vai viņa veidi. Un tad tas saglabā ka teksts uz mainīgo n. Un tagad es varētu vēlēties kaut ko darīt piemēram, I did pirms nedēļas, jo, piemēram, nedēļā viens no klases. Ja n ir lielāks par nulle, tad, es eju aizņemties ka sintakse mēs tikko redzēju, drukas def, jūs noplūktiem pozitīvu skaitli, slīpsvītru n. Cits, ja n ir vienāds vienāds ar nulli, es esmu gatavojas iet uz priekšu un saka, drukāt def, jūs noplūktiem nulles reversā slīpsvītra n. Else, šajā gadījumā būtu protams būt, drukāt def, jūs noplūktiem negatīvu skaitli. Un mēs noteikti varam īstenot loģika šī lieta ķekars atšķirīgs veidos, bet punkts šeit ir tas, ka sintaktiski, tikko kaut kas ir jauns. Tas ir tikai dolāra zīmi un jauna funkcija un lasīt tiešsaistē. Bet būtībā, kas jauns Tagad ir tā, es esmu interpretējot šo. Es esmu tā nodošanu kā priekšnodokli uz citu programmu. Tātad, ja es gribu, lai palaistu šo, ja Man nebija nekādas kļūdas, Es esmu gatavojas palaist PHP, no nosacījumi 1 dot PHP, ievadīt, Es esmu gatavojas rakstīt ar numuru 50, un pieņemsim, tagad tas darbojas. Jo loģika ir pats sīkumi kā nedēļu vienu. Labi, tā ka ir diezgan underwhelming, vai ne? Mēs varētu darīt jebkurā valodu skaits. Darīsim kaut kā spēcīgāk. Pieņemsim apdare problēma noteikti pieci. Tāpēc es esmu gatavojas iet uz priekšu un darīt to. Es esmu gatavojas izveidot failu sauc vārdnīca dot PHP, un slīpi, kā jūs varētu būt rāpties lejā daudz piezīmes, piezīmes tikai palīdzēs jums, ja jūs esat atļauts īstenot problēmas noteikt pieci PHP. Bet mēs redzēsim, cik ātri mēs tagad var īstenot šo pašu problēmu kopumu. Tātad vārdnīcā dot PHP, es dodos pieņemt, ka tur jau ir fails pasaulē sauc Speller. Un tiešām, es darīju to iepriekš, un mēs ne staigāt pa šo līniju pa līniju, bet, ja tu esi ziņkārīgs vēlāk, un tiešām gribu wrap savas domas ap atšķirības starp C un PHP, burtiski salīdzināt šo failu, Pareizrakstības, no šodienas pirmkodu ka mēs post vēlāk Šodien, pret p komplektā pieci Pareizrakstības dot c, ka mēs dodam jums, un tas ir gandrīz tāds pats pozīcijai. Ir vēl daži dolāra zīmes. Pāris funkcijas nedaudz atšķiras. Bet tas ir jauks veids no veida redzēt, cik Jūs tulkot no vienas valodas uz otru. Un tas ir gandrīz identisks līnija līniju. Bet es esmu gatavojas pieņemt, ka pastāv, un to, ko es esmu gatavojas darīt šeit ir mēģināt izpūst jūsu prātā reimplementing tad viss problēmu noteikts pieci ceļu ātrāk, nekā jūs esat dara līdz šim. Tā, piemēram, es esmu gatavojas vispirms atzīt globālo mainīgo sauc lielumu, un noteikti tā ir vienāda ar nulli. Tagad tas nav daudz ietaupījumu. Izredzes ir jums īstenoti lielums diezgan daudz to pašu, vai mājienu mājienu, būs šovakar vai rīt, tikai izmantojot globālo mainīgo sauc lielums, un nosakot to vienāds ar nulli. Tas nav īpaši pārsteidzošs spoileris. Tātad, kādi bija jūsu dati struktūras izvēle, tiem no jums, kuri ir atsitās un lasīt spec, ko datu struktūras ir lielākā daļa no jums ir bijis, izmantojot? Hash galda vai mēģināt, varbūt daži to varianti. Tātad īstenojot hash tabulu vismaz, ir sava veida daudz koda rindiņas, labi? Un ne visi no tiem var būt funkcionālā šajā brīdī nedēļā, bet tas ir jauki. Jo PHP, ja es vēlas hash tabulu, darīts. Tiesības? Tā, ka mainīgo, ka es esmu tikko paziņoja, ir acīmredzami sauc dolāra zīme galds, per ievadā pirms. Bet es tiešām tikai gribu, at beigas dienā, masīvs. Bet ne skaitliski indeksētas masīvs, jo tas ir tāpat kā nedēļu divām sīkumi, kad mēs runājām par blokiem. Es gribu hash tabulu. Bet hash tabula ir patiešām tikai konkrēts veids, kā pateikt, Jūs vēlaties asociatīvo masīvu. Jūs vēlaties, lai varētu asociētie taustiņi ar vērtībām. Taustiņi ar vērtībām. Kas ir vārdnīca, tiešām? Nu tas ir viss ķekars taustiņiem. Vārdi, piemēram, ābolu, bumbieru un banānu, un visi šie vārdi angļu valodā ka mēs pasniedzam jums. Un vērtības, kas tu esi efektīvi ievietojot savā vārdnīcā ir vai nu patiess, vai neesamība, nepatiesa. Citiem vārdiem sakot, jūs ievietojat viss ķekars galveno vērtību pārus, ābolu, taisnība, bumbieru, taisnība, banānu, taisnība. Tā, ka tad, kad jums iegūt vai meklēt up datus savā hash tabulu ar savu pārbaudes funkciju, jūs esat nu kļūst atpakaļ atbildi, jā, es atklāju to manā kompleksā hash tabulu, vai nē, tas nav tur, lai jūs atgrieztos nepatiesa. Tātad, lai to izdarītu, visi man ir nepieciešams ir datu ierosinātā struktūra, piemēram, I agrāk. Man vienkārši vajag, lai varētu saistīt vārdus piemēram, quote likt pēdiņas beigās, simbols, ar vērtību, piemēram, patiesa. Tātad tur ir mans hash tabulu. Pieņemsim faktiski to izmantot. Tātad tur ir dažas funkcijas Man vajag, lai īstenotu. Es iešu uz priekšu un iekost off funkciju sauc izmēru. Tas aizņem ne argumentus. Man nav apgrūtināt ar vārds, spēkā neesošu, PHP. Es esmu vienkārši gatavojas atgriezties izmēru. Un kā malā, PHP ir Tas minorly kaitinošas detaļa, kur, ja kaut kas ir globāla, jums ir pateikt funkciju, kurā jūs izmantojat tas, hey, tas ir pasaules mainīgs. Tātad, nelielas stulbums, bet jūs ir darīt to tomēr. Tātad, ko par slodzi? Es esmu gatavojas īstenot funkcija sauc slodze kas notiek ar nosaukumu vārdnīcu, tāpat kā problēmu noteikti pieci. Un pirms es turpināt, ievēroju, ka man nav tika ierakstot diezgan pašas lietas. Kas ir acīmredzami atšķirīgs PHP par kā jūs atzīt funkciju versus C? Jā. Mērķauditorija: [dzirdams] SPEAKER 1: Nē atgriešanās tips. Un tiešām, tas ir gadījumā, PHP ciktāl tas ir brīvi drukāti, ir arī nedaudz apliets šajā ziņā. Jums nav jānorāda kā programmētājs ko šī funkcija atgriež. Jums būtu tiešām izskatās at kodu izdomāt. Vai lasīt komentārus vai dokumentāciju. Tātad plusi un mīnusi šie lēmumi veidus. Bet man jāsaka atslēgas vārds, funkcija. Un, kad mēs mācāmies JavaScript pēc pāris nedēļām mēs ejam, lai redzētu to pašu atkal, bet tas ir tas pats ideja. No funkcijas nosaukums, tās arguments vai argumentus vai tās trūkuma, un tagad šeit ir īstenošana. Tāpēc es esmu gatavojas samazināt dažas stūriem tikko būt dramatiskas tikai brīdi. Bet es esmu gatavojas iet uz priekšu un saku. Tas ir, kā es varu ielādēt failu uz masīvu. Ir funkcija PHP sauc failu. Jūs nodot tā nosaukums faila. Tā rokās, jūs atpakaļ masīvs, iekšpusē no kuriem katrs līnija no lietas materiāliem. No nulles, viens, uz augšu līdz n mīnus 1 līnijām. Tas ir tas, vai ne? Nav f lasīt. Nav f get s. Nav procentiem s. Nav galvassāpes. Nav feof. Visas šīs lietas, ar kurām Jūs esat cīkstēšanās iespējams, ar p noteikt četru un piecu, dodas prom. Tāpēc es tikai lasīt šos līnijas stājas fails, un tad jūs zināt, ko? Ja es gribu atkārtot pār šiem vārdiem, Es varu darīt, par katru pozīciju, kā līniju. Atcerieties, ka tas bija sava veida gudrs veids, atkārtojot pār masīva, indeksa ar indeksu, un uz katra atkārtojuma zvana pašreizējais līnija, dolāra zīme līnija. Un tieši šeit es iešu un saka galds, kronšteins, līnija, izpaužas patiesa. Citiem vārdiem sakot, tas ir, kā es ievietot manā hash tabulu PHP. Es saku dolāra zīmi tabulu, kurā ir mans asociatīvā masīva, kas bija tukšs vienu līniju kodu augšas. Tad es indekss tajā nav, izmantojot numuru, bet burtiski izmantojot atslēgvārds ka man rūp. Varbūt tas ir ābols vai bumbieris vai banānu vai kāds, bet konkrēti es esmu indeksējot tajā patīk es ierosināju agrāk. Es nosaukumu My asociatīvā masīva, un tad es izmantot quote likt pēdiņas beigās In kvadrātiekavas ar auklu, nevis faktisko skaitu. Un tā tas arī viss. Slodze funkcija tiek darīts. Kad tas cilpa vairākkārt uzsvērts, es esmu likts viss uz hash tabulu. Tagad neliela atruna, tur ir Pāris lietas, kas man ir nepieciešams, lai noteiktu. Un versija es post online būs visas nianses, bet tas ir pārsvarā tikai būs daži kļūdu pārbaudi un dažas nelielas tweaks. Bet tas ir patiešām būtība no tā. Ja es tagad gribu, lai īstenotu funkcija sauc pārbaudiet, kas sagaida vārdu kā savu argumentu, kā varētu man iet par darot, ka? Nu, es esmu vienkārši gatavojas teikt, ja iekšpusē mana galda, pie vietas vārda, ja ir uzstādīts. Tātad, ja tur is-- tiešām, jūs zināt, ko? Es esmu gatavojas darīt to mazliet pseudocode. Bet ideja ir tāda pati. Ja tas ir vienāds taisnība, atgriešanās taisnība. Viss kārtībā. Else-- jūs varat veida redzēt, kur tas ir going-- atgriezties viltus. Gatavs. Pārbaude tiek darīts. Diezgan jauki, vai ne? Un tā, kādi ir šī patiešām kļūst at? Un tas arī, es samazināt dažas stūriem. Paskaties versiju online visiem no nelielām niansēm. Bet tas ir būtība no tā. Index jūsu asociatīvā masīva, pazīstams arī kā Hash galds, redzēt, ja tur ir vērtība tur, ja tas ir iestatīts uz true, un, ja tā, atgriezties true. Tāpēc mēs esam whittled leju visi ir sarežģīta. Tātad veida prāta pūš, vai ne? Man nav apnikt beidzot ar izkraut, jo fact-- ak, jūs zināt, ko? Jā, pieņemsim pabeigt to ar izkraut. Izkraut ar hash tabulu varētu izskatīties tāpat funkciju izkraut, atgriezties. Labi, tā ka ir izkraut. Jo tur nekas izkraut, vai ne? Nav malloc. Man nav skaidri lūgt operētājsistēma neko. Es tikko sākuši izmantot mainīgos. Un tā tas arī ir izpausme iezīmes augstāka līmeņa valodām. Tātad atkal, lielākā daļa no šī termina mēs esam nodarbojas leju šeit ar C. Super zemā līmenī. Jūs varat redzēt datora atmiņā. Jūs varat pieskarties kaut ko jūs gribu jūsu datora RAM, lai labāk vai sliktāk. Šeit, mēs ejam atmest šo varu. Bet mans Dievs, skatīties, kā daudz mazāk kods es uzrakstīju. Patiesībā, ja man bija nerunājam un runājot pār manu rakstīt, mēs būtu darīts ar Šis piemērs piecas minūtes pirms. Tātad, kāda ir cena, ko maksā? Nu pieņemsim to apskatīt. Pieņemsim to apskatīt. Es esmu gatavojas iet uz priekšu un palaist CS50. Ļaujiet man vispirms iedziļināties šodienas piemēri, kad Man ir tekstiem direktorijā, kā līdz šim. Es esmu gatavojas palaist risinājumu, kas tas nāk ar problēma noteikti pieci sauc Pareizrakstības, kas ir CS50 kontā. Un es esmu gatavojas palaist to par kaut ko liels kā King James Bible, tikai tāpēc, ka mēs patiešām ielieciet Personāla risinājumu testā. Tagad dažreiz internets ir nedaudz lēnāk, nedaudz ātrāk, var aizņemt kādu laiku, lai ritinātu. Bet tas bija pavisam .56 sekundes pareizrakstības pārbaude King James Bībele izmantojot personāla risinājumu. Tātad diezgan laba. Yours varētu būt daudz lēnāks, un tas ir pilnīgi naudas sodu. Bet tas ir pareizs šeit. Tātad tas ir personāla risinājumu. Ja es iet un sakopt PHP versiju. Un es esmu gatavojas darīt nedaudz tāpat cepšanas šovu lieta. Mēs ejam, lai ņemtu kodu es uzrakstīju agrāk, tāpēc tas ir pilnīgi pareizs. Jo kods es uzrakstīju negrasās būt pilnīgi pareizs tikai tagad. Bet, ja man palaist PHP versiju, Kas man atmest šodien? Aizveda mani piecas minūtes, lai īstenot p noteikti pieci, es apgalvot. Kāda cena ir man jāmaksā? Jā. Mērķauditorija: Speed. SPEAKER 1: Speed. Ko tu ar to domā? Mērķauditorija: Tas būs vajadzīgs ilgāks laiks. SPEAKER 1: Nu labi. Paskatīsimies. Tā gatavojas veikt ilgāk, ne rakstīt, bet, lai palaistu to. Jā. Tātad, pieņemsim mēģināt šo. Tātad, šeit es esmu gatavojas iet uz priekšu un darīt PHP no Speller, un tāpēc, ka faila sauc Pareizrakstības. Tāpēc es esmu nedarbojas vārdnīca, atgādināt, Es skrienu programmu, ko sauc Pareizrakstības. Es esmu gatavojas iet tajā pašā fails, King James piektais. Tas lidojot. Tas varētu būt tikai interneta ātrums, tāpēc nav lasīt pārāk daudz kas. Bet tas liekas vairs for sure. 1.26 sekundes. Tagad tas joprojām ir diezgan damn ātri, vai ne? Un vienīgais iemesls, ka jutos kā vairāk kā trīs vai četri, vai pieci sekundes, tas ir tikai tāpēc, ka internets tika lēns. Dators pavadītais laiks bija 1,26 sekundes, salīdzinot es domāju, 0.56. Tātad vairāk nekā divas reizes lēni. Tagad tas joprojām ir diezgan darn ātri, bet tas ir izpausme no, protams, ka precīzu cenu. Jo mēs esam interpretējot Kodu pozīcijai, un ka programma PHP lasa manu kods augšas uz leju, no kreisās uz labo, tas ir jādara vairāk domāšanu. Tā ir sava veida pārvērst tā iekšpusē sevi uz atbilstošo mašīnu kodu par lidot, tā sakot, kaut gan mehānika ir mazliet atšķirīgs. Nevis tikai barošanas ar Intel CPU izejvielas nullēm un uzņēmumiem ka tā saprot natively. Tātad absolūti, rokas uz leju, mums ir jāmaksā cena. Un kods rakstīts valodā piemēram, PHP mēdz būt lēnāks. Bet mans Dievs. Tāpēc tagad, kad es pareizrakstības pārbaudīt savu failu, es tērēt papildus 0.7 vai tik sekundes vs 20 stundas, lai īstenotu ātrāks pareizrakstības pārbaudītāju, vai ne? Tas ir sava veida kompromiss. Un, ja jūs tikko sākusies p noteikti pieci, varētu būt 20 stundas. Varētu būt daudz mazāk nekā. Bet tas ir kompromiss, pa īstam. Un, ja jūs izmantojat kodu uz tiešām liels datu kopas, vai pat vecākiem aparatūru, šie atšķirības veidi noteikti var saskaitīt. Kādi jautājumi līdz šim? Jā. Mērķauditorija: [dzirdams] SPEAKER 1: Atvainojiet, var jūs sakāt to vēlreiz? Mērķauditorija: [dzirdams] SPEAKER 1: jūs dodot laiks. Nu, tāpēc, jā. Jūs ietaupīsiet laiku, kam nav, lai apkopotu to, ja tas, ko jūs lūdz. Un tiešām, CS50, lielākā daļa programmu, pat ja tie varētu aizņemt laiku rakstīt, viņi relatīvi īss. Daži desmiti, daži simti koda rindiņas, un tāpēc viņi apkopo diezgan ātri. Bet, kad jūs sākat rakstot lielākas programmas, piemēram, ja tu esi Microsoft, vai jūs esat Google un rakstīšanas tiešām liels programmas C vai C ++, vai līdzīgi apkopoti valodas, varētu veikt daudz sekundes, vai pat minūtes vai ilgāk, lai sastādīt miljoniem rindas kodu. Un arī tur, ka atšķirība gatavojas saskaitīt. Un patiesībā, tiklīdz mēs Pāreja šodien, tajā pašā dienā Šodien, web programmēšana izmantojot PHP, tu esi gatavojas to atrast tikai tik daudz patīkamāku rakstīt kodu ja jums nav darīt šo stulba soļi, piemēram, nemainot savu termināli logu, tips make hello, re palaist to, pārlādēt logu. Tieši tik daudz stulba mehāniskās soļi, ka tikai iegūt tādā veidā, kā to interesanti, jautri darbu. Un tiešām mēs mest, ka prom ar PHP. Un mēs varam mijiedarboties ar to ātrāk. Jā. Mērķauditorija: [dzirdams] SPEAKER 1: Protams. Vai es varu paskaidrot, kas tas nozīmē interpretējams? Kad jūs sastādīt valodu piemēram, C, tā iet uz leju kā mēs teicām, lai mašīna kods, nullēm un uzņēmumiem. Un Intel nolēma pirms gadiem, kas daži modeļi nullēm un tiem pārstāvēt saskaitīšanu, vai atņemšanu, vai izdrukāt, vai citas pamata operācijas. Kas pasaulē ir interpretēts valodā piemēram, PHP vai JavaScript vai Python, vai Ruby, vai ķekarus citi, nevis kāds ir uzrakstījis interpreter-- šajā gadījumā, to sauc arī PHP, identisks Nosaukums language-- kas būtībā ir liels cilpa tajā uzsvērts, ka visas no līnijām koda ka es barības to kā ievade, piemēram, sveiki dot PHP, vai vārdnīcā dot PHP. Un tad jūs varat domāt par to liels cilpa kā kam ir daudz nosacījumu. Un šie nosacījumi teikt, ja cilvēks ir rakstījis šo atslēgvārdu, sākt darīt viņa vai viņas kods atkal un atkal. Vai ja cilvēkam ir uzrakstījis rindiņu kodu, ja, tikai izpildīt to Nākamais rindā nosacīti. Tātad, tas ir patiešām patīk interpretējot tas ir cilvēka ziņā, līnija pa līniju, un tas tikai prasa laiku. Tas aizņem virs galvas. Un tā tas ir price-- labs question-- mēs maksājam. Tātad, pieņemsim darīt citas demo tas ir nedaudz vairāk dramatisks. Ir, es teiktu, ballpark tas at varbūtība, ka tā nav briesmīgi 90%, bet jums būs pārsteigts ar 10% varbūtību. Tāpēc katru gadu mēs cenšamies lai to paveiktu, ar ko mēs mēģināt uzrakstīt programmu, kas iet caur Problēma noteikti nulli, par kuru jūs esat iesniegtie savus tālruņa numurus un A Citu demogrāfisko daudz informācijas, un mēs programmiski jums nosūtīt īsziņu. Un tad visi tālruņa sāk skaņas vai vibrācijas, un tas ir tikai pārsteidzošs, jo labi, apskatīt, kādi datori var darīt. Tas reti darbojas pareizi šķiet, lielā mērā jo es parasti get melnajā sarakstā ar Gmail vai kādu citu pakalpojumu par faktiski mēģina izdarīt uz mērogā. Bet smieklīgi ir tas, pārāk, jo mēs nav visiem šeit šodien, fun fakts pēdējā reize, kad mēs mēģinājis šo pirms diviem gadiem, Es domāju, ka es uzrakstīju programmu kas sēdēja cilpa atkārtojot pār visiem skolēniem klasē, un katrs no tiem īsziņu, un tā teica kaut ko līdzīgu, kāpēc nav jums lekcijā? Mīlestība, CS50 bot. Jums nav ne jausmas, cik daudz samierinošs un veida sāpīgi e-pastu Es esmu saņēmis atbildes no n mīnus 100 cilvēki, kas nebija šeit tajā dienā. Un pat funnier, vairāk apkaunojoši story-- jūs zināt, pieņemsim likt to tur. Tas ir jau par video dažus gadus atpakaļ. Tātad jūs drīz redzēt mani rakstīt uz cilpas, kuru tas ir ļoti viegli uzrakstīt kļūda, ka cilpas, tāds, ka pirmo reizi caur cilpu, jūs nosūtīt vienu īsziņu. Otro reizi caur cilpu I vajadzēja nosūtīt vēl vienu īsziņu, un pēc tam vēl vienu teksta ziņa, un vēl viens. Bet izrādās, ja jūs veicat typo Plānojot, dažkārt jums var rakstīt programmas, sūtīt vienu īsziņu, tad divas īsziņas, tad trīs īsziņas uz visiem kurš jau saņēmis īsziņu. Un, kā jūs zināt, darīt kaut ko, plus kaut kas, plus kaut kas, plus kaut kas ir liels O par daudz īsziņas, vai n brusas, vai $ 0,10 īsziņa, $ 20,000. Par laimi es hit Control-C pirms tam noticis, bet man nebija parādā vismaz vienu Jūsu priekšteči 20 $ par 200 daži nepāra īsziņas, kas, ne tikai devās uz savu tālruni, bet arī tas bija kā vecāku Flip tālrunis tāpēc tas patīk izstumti no viņa atmiņa katru otro personīgo teksts ziņa viņš bija faktiski gotten. Tāpēc mums ir viens mērķis šodien, nevis, lai to izdarītu. Varbūt ieslēgtu lidmašīnas režīmu. Viss kārtībā. Tātad pieņemsim iedziļināties Programma šeit callled-- ka es aicinu tekstu dot PHP. Un jau iepriekš, es esam ieguvuši divus failus šeit. Es sniedza failu tikai personālam, kas ir ieguvuši visi Civildienesta info, visi vārdi no kursa mājas lapā. Un tad tagad es vienkārši ielieciet daži viltus numuri 555-1212. Tātad tie būtu faktiski nav iet visur. Bet paziņojums iekšpusi šīs CSV failu, kuru mēs runājām par īsi pirms kontekstā failu IO. Kas ir CSV fails? Comma atdalīti mainīgie. Un šis ir veids kā ļoti viegls datu bāzē, ja Jums gribas. Tur ir sava veida veida četrām kolonnām Šajā failā, un tur robains, bet komatus būtībā pārstāvēt kolonnas failā. Pirmajā ailē ir TF vai CA nosaukums. Otrajā ailē ir viņu uzvārds. Trešā kolonna ir viņu tālruņa numurs. Un ceturtajā slejā acīmredzot is-- Ceturtajā slejā ir acīmredzami, ko? Labi, tāpēc tas ir viņu pārvadātājs. Tātad Verizon vai Sprint, vai to, ko nevar. Un, ja es misspoke agrāk, CSV. Komatiem atdalītas vērtības ir CSV šeit. Tātad, ko es varu darīt ar šo? Nu tas ir tikai liels teksta failu, un tas ir sava veida ilgi, vai ne? Tāpat tas būs būt sava veida kaitinošas. Un izrādās, lai gan, ka, ja es vēlaties nosūtīt īsziņu, pieņemsim saka Alex šeit. Ļaujiet man iet manā pārlūkprogrammā un izietu no pilnekrāna režīmā tikai, lai es varētu pārslēgties uz priekšu un atpakaļ. Izrādās, pieņemsim redzēt, ja man iet šeit, un ieiet Gmail, visi labi. Neskatieties uz šo daļu. Vienkārši man redzēt. Protams LiveStream var vēl redzēt to, ko es daru. Viss kārtībā. Tātad, šeit ir tikai Gmail ar John Harvardas konts. Tātad, ja es gribu, lai nosūtītu īsziņu uz Alex, Es, protams, var rakstīt ziņojumu. Un izrādās, un es esmu testē to ar Alex pirms šeit, lai jūs varētu pievienot noteiktu domēnu nosaukt to cilvēku tālruņu numuriem, jo pastāv pasaulē lietas sauc SMS uz e-pastu vārti. Kura ir iedomātā veids, kā pateikt visu no mums, kas ir mobilie tālruņi, kas ir tālruņa numurus, protams, tur droši vien ir jūsu pārvadātājs, kāds piedēklis, piemēram, pie Vtext.com Verizon īsziņu dot com, ka jūs varat pievienot, lai jūsu personīgo tālruņa numuru, un pēc tam Jums vai draugiem, vai jūsu vecāki var tekstu jūs šajā konkrētajā adresē. Un Verizon ir serveri, e-pastu servera, ka saņemot šo e-pastu, aplūko ciparu daļu un pēc tam izmanto neatkarīgi īpašu nozares maģija tie ir reāli nosūtīt to ārā pa radioviļņos jūsu konkrēto šūnu tālrunis. Tagad tas ir jauki, jo man nav tiešām zina, kā nosūtīt īsziņu vai rakstīt kodu vēl uz manu mobilo tālruni, un jūs varētu darīt tieši to, lai galīgais projekts, bet tagad visiem Man ir mans klēpjdators šeit. Tāpēc es gribu atkārtot pār šo CSV failu, līnija, pa līniju, pa līniju, pa līniju, sagrābt katrs no darbiniekiem tālruņa numurus, un to pārvadātājs un programatically, saķēdēt, tas ir, savienot tālruni numurs ar atbilstošu domēna vārdu un pēc tam nosūtīt e-pastu. Tātad tas ir daudz soļiem. Un labu veiksmi dara, ka C Tas ir murgs no situācijas atvērt failu, lai to izlasītu līnija, pa līniju, pa līniju, kā jūs redzam, vai drīz var redzēt ar problēmu noteikti pieci, ja ne problēma, kas četri, un pēc tam dinamiski saķēdēt divas stīgas kopā, jo C, lietot divas virknes un apvienot tos, Ko jūs minimāli jādara, visticamāk? Jums ir nepieciešams atzīt, vairāk atmiņas, vai ne? Un jautāt, malloc, es varu būt vairāk atmiņas? Tāpēc es varu likt pusi no šī šeit, puse no šeit. Tas ir tikai tik daudz pasākumu. Un šajā brīdī jūs esat zaudējis interese par stulba maz demo kur jūs veicat ikviena telefona signālu. Darīsim šāda veida PHP stils, kuru mēs tikko sākt izmantot vairāk par šo virtuves izlietnes. Un idejas būtībā ir tas pats, bet mums nav jāuztraucas pārāk daudz par šo zemākā līmenī. Tātad, pieņemsim redzēt, kā es varētu iet par to izdarīt. Un tikai tāpēc, ka man nav atkārtot pagātnes kļūdas, Es esmu uzrakstījis dažas piezīmes par sevi šeit. Un pieņemsim redzēt, ja es varētu staigāt ar mums caur kādu no galvenajiem soļiem, un tad uz laiku dēļ mēs varbūt samazināt dažas stūriem beigās. Es esmu gatavojas iet uz priekšu un darīt atvērts kronšteins PHP, lai sāktu šo failu. Un es iešu uz priekšu un darīt to. Failu rokturi, kā jūs drīz redzēt, patiesībā aicina funkciju sauc f atvērts. Un atcerieties, tas atver failu. Un quote, likt pēdiņas beigās, r ir Ko, atkal? Vienkārši atveriet to lasīt. Tagad p komplektu, jūs to izdarīja. Un rīkoties varētu būt kaut kas, fu, bārs, bas, kāda mainīgā nosaukums. Bet parasti dators zinātnieks sauktu atklātu failu, sniedzot jums failu rokturi, kaut turēt uz tā runāt. Es esmu tikai gatavojas darīt daži kļūdu labošanas. Tātad, ja rokturis ir nepatiesa, tāpat kā C, es esmu gatavojas darīt kaut ko līdzīgu, nevarēja atvērt failu, reversā slīpsvītra n. Un tad es esmu tikai gatavojas iet uz priekšu un iziet. Un izrādās, PHP, Es neesmu iekšā funkciju. Nav galvenā funkcija šeit. Tāpēc es nedomāju atgriezties, per se. Es izeju. Kas būtībā ir viens un tas pats. Un es esmu izbraucot ar vienu y Droši vien. Viens tikai ir kļūda dažu šķirot. Tas nav nulle, tāpēc tas ir kļūda. Labi, tāpēc, ja es esmu uz leju šeit tagad manā programmā esmu atvēris failu. Es iešu uz priekšu un atzīt masīvs sauc adreses, un C es būtu zināt izmērs masīva iepriekš, vai ne? Vai es būtu nepieciešams atzīt šo ir rādītājs, un pēc tam izmantot malloc. Un tad katru reizi, kad es izlasīju caur citu rindu failā, Es esmu dodas uz nepieciešamību malloc vairāk atmiņas, malloc vairāk atmiņas. Tas ir sāpes kaklā. Un par laimi, PHP, un Ruby, un Python, un JavaScript, viņi pieaugs jūsu bloki jums automātiski. Ne vairāk malloc. Ne vairāk atmiņas pārvaldība. Dators rūpējas par to. Bet cena, ko maksāt. Tas ir nedaudz lēnāks. Un par programmu, kā šis mēs nebrauksim, lai paziņojuma. Mēs ejam, lai nosūtītu 100 īsziņas. Piemēram netaisos jūtu. Tas tiešām tikai sāk svarīgi savu valodu izvēli ja jūsu dati, vai jūsu programmas iegūt ļoti, ļoti prāvs, kā tas būtu gadījumā vairāk tāpēc ar mūsu tīmekļa sīkumi. Bet tagad pieņemsim veidot uz priekšu. Lai gan izrādās, tur ir funkcija C sauc f saņemt CSV. File saņemt CSV, ka ņem failu rokturi kā savu argumentu, un tā norit pēc tam, rindu, ko rinda, pa rindai, lasīt pēc kārtas. Tātad tas vienkārši skan līniju no teksta faila. Bet kas ir jauka par šo funkciju, tas ne tikai roku man teksta rindiņu. Tas izskatās tiem komatiem, un parses līniju. Un parsēt līniju nozīmē sadalīt tas par noteiktām vērtībām šajā kontekstā. Citiem vārdiem sakot, dolāra zīmi rinda ir mainīgs, kas ir gatavojas sniegt man ķekars indeksu. Tas būs būt Pirmajā ailē manā CSV. Šis būs otrais kolonna, šis būs trešais, un šis būs ceturtais. Jo Atgādināt, un Excel NOT sadarboties pēdējo reizi, kad mēs to izdarīja, bet, ja es lejupielādēt darbinieki dot CSV. Whoops, ne pārdēvēt. Ja es lejupielādēt personāla dot CSV, un mēģināt atvērt to, Esmu jau registered-- oh I nav atjaunināt Excel kopš pēdējās reizes. Jūs redzēsiet, ka darbinieku dot CSV, man ir četras kolonnas. Tātad, kad es izlasīju Pirmo rindu Abby šeit, Dolāra zīme rinda 0 ir Abby, viens dolārs zīme rinda ir Lyons, Dolāra zīme rinda divi ir viņas numurs, un tad viņas tālruņa pārvadātājs. Tātad tas ir viss. Un tas ir jauki, jo I nav tagad izdomāt kur visas šīs komatiem patiesībā ir. Tāpēc es esmu gatavojas iet uz priekšu un izdarītu, ņemot vērā, ka definīcija, Es esmu gatavojas teikt, ka viņas vārds ir rindā grupā nulles, kā solīts. Un es esmu gatavojas grab-- un tiešām, jūs zināt, ko? Es neesmu gatavojas jāuztraucas par viņas vārds, kas šajā gadījumā. Es esmu gatavojas, lai saglabātu to vienkāršāku. Es esmu gatavojas darīt viņas skaits rindā grupā divas, es domāju. Un viņas pārvadātājs bija kur? Row trīs, viens vairāk. Tātad nekas jauns tur. Tas ir tikai nulle indeksācija uz masīvu. Un tagad, es esmu gatavojas darīt šādi. Ja pārvadātājs ir vienāds vienāds AT & T-- Es esmu tikai nāksies loop-- Es gribu, lai izveidotu e-pastu adresi, kas izskatās šādi. Tas būs 617-555-1212 at, kas tas ir, text.ATT.net, ir tas, ko es gribu darīt. Tātad, kā es varu darīt? Es esmu gatavojas darīt šādi. Viņas adrese būs viņas numuru, un tagad, ļaujiet man iet uz priekšu un darīt to. Tas ir daži bailīgs sintakse. Es varētu darīt procenti s triks, bet es patiesībā var tikai izdarīt. Tātad šis ir PHP lieta, bet pieņemsim apsvērt to, ko es daru. Dollars paraksta adresi pa kreisi, tikai mainīgs. Dodiet man mainīgo. Man nav, lai norādītu veidu. PHP būs skaitlis it out. Labajā pusē, kāda ir datu tips Minētās visa lieta par labajā pusē? Izskatās virkni, jo tur ir dubultā citātus par tālu pa kreisi un pa labi tālu. Tagad tur ir daži bailīgs jauns sintakse šeit. Tur ir cirtaini bikšturi, un dolāra zīme numurs. Bet ņemt uzminēt, kas ir tas, ka sintakse iespējams, stāsta PHP darīt man? Jā. Vienkārši ievietojiet vērtību tur. Līdz ar to nav procenti s. Mēs varētu izmantot drukas f, vai S drukas f vai kaut kā tā, bet PHP un daudz augstāka līmeņa valodas, jūs gatavojas redzēt, ka jūs varētu darīt to pašu funkcionāli, varbūt seši dažādi veidi. Un tā tas sāk kļūt jautājums par dizaina vai stilu. Tātad tas ir tikai mistisks meklē veids no sakot, man e-pasta adresi, bet plug-in uz numuru starp šīm cirtaini lencēm. Un cirtaini bikšturi nebūs nonākt gala adresi. Tagad mēs varam izlaist dažus Šīs līnijas uz laiku dēļ. Tātad, ja pārvadātājs ir vienāds vienāds verHorizon-- Whoops, Verizon-- es gribu darīt kaut ko ļoti līdzīgs, ja adrese izpaužas, quote, likt pēdiņas beigās, numurs pie text.ATT.net. Un tad es varu darīt to pašu veida lieta par pārējo pārvadātājiem. Bet es ņemšu tikai do dot, dot, dot tagad. Un tagad pieņemsim, ka Es vēlos piebilst masīvs, spiediet. Es vēlos, lai pievienotu masīvs, sauc adreses. Šī adrese, tas ir, kā jūs pievienot kaut ko masīvu PHP. Jums nav nepieciešams darīt malloc. Jums nav, lai mainītu masīvs. Jūs vienkārši teikt masīvs, grūdienu. Ko jūs vēlaties push-- ko masīvs Vai jūs vēlaties, lai push kaut uz? Adreses. Ko jūs vēlaties, lai push uz adresēm? Adrese. Un patiesībā, ja jums patiešām vēlaties būt gudrs, daži sintaktisko cukurs Lai to izdarītu, tā sakot, kas nozīmē tikai to, kā jūs varat darīt to prettier veidā, būtu to darīt. Ka pārāk ir sekas audzēšanas adresēm masīvs pēc lieluma vienu, un tad plunkšķis ka papildu e-pasta adresi tajā. Jā. Mērķauditorija: [dzirdams] SPEAKER 1: typo par cits if-- oh, pārvadātājs. Tas ir labi. Tas arī nepatīk mana nespēju īstenot daļu no šīs programmas vēlāk. Bet paldies ķeršanai. Vēl viena kļūda. Paldies. Mēs vēlamies, lai tas Vtext.com. Jā. Viss kārtībā. Tātad, ja tas atstāj mūs? Mēs esam rakstīts kodu, lai atvērtu failu. Mums ir cilpa atkārtot pa rindām failā. Mums ir kods, kas papildina manu masīvs, pa vienam, tad pareizi formatēti e-pasta adresi. Tātad viss, kas tiešām paliek ir nosūtīt Uzrakstīt katram no šiem cilvēkiem. Tāpēc es esmu gājusi uz priekšu un gatavs sevi šādi. Ko es esmu gatavojas darīt šeit is-- un pieņemsim iet uz priekšu un pārietu uz kādu faktiskais kods, kas izskatās šādi. Tātad, šeit ir priekšfinansējuma ceptas versija es rakstīju agrāk. Un paziņojums es beidzis Īstenojot Sprint. I gatavo īstenošanas T-Mobile. I gatavo īstenošanas Virgin Mobile. Un es atvainojos jau iepriekš. Tur ir daži pārvadātāji, kas daži skolēni klasē ir ka man nav apnikt uzskaitot IF stāvoklī šeit. Tātad ne visi teksti dosies ārā. Bet pieņemsim redzēt, ko vēl man jādara. Es aizvērtu failu, vienkārši tāpat p noteikti četri. Un tas ir jauns sintakse. Un mēs redzēsim nedaudz Mazliet tas laika gaitā, it īpaši ar p noteikti septiņi un astoņi. Bet tas ir sintakse, lai radītu īpaša veida struktūru. Izrādās, tur ir bibliotēka, kas nāk ar PHP, ko sauc par PHP mailer. Tās mērķis dzīvē ir programmatiski sūtīt e-pastus. Tas ir kods kāds cits rakstīja, ka padara vieglāk mums, lai nosūtītu e-pastus, tāpēc mums nav, lai saglabātu iet uz priekšu un atpakaļ uz Gmail, un ielīmējot cilvēku e-pasta adreses. Tur ir viss ķekars līniju šeit ka godīgi, es tikai veida kopēts un ielīmēt no dokumentiem. Un patiesībā, ja tu esi ziņkārīgs, es pa kreisi visiem no URL dokumentācijas kodu, kas mēs post vēlāk. Un ievēroju, ka starp lietas, es esmu dara ir, es esmu stāsta šo bibliotēku, izmantot Gmail serveri, vai ne? SMTP mēs runājām īsi par to, kad mēs bija Yale par to vienkārši mail pārsūtīšanas protokols. Tas ir protokols, kas serveri izmanto, lai nosūtītu e-pastu, un that's-- Gmail ir viens no tiem. Ostas, tas ir TCP porta numuru. Tas ir labi, ja jūs neesmu redzējis 587 agrāk. Tikai zinu, ka no dokumentiem. Lūk, mans lietotājvārds. Es esmu gatavojas izmantot CF50 bot. Un pēc brīža, es esmu tikai gatavojas Ierakstiet Bot faktisko paroli. Un tad uz leju šeit, pamanīt to, kas paliek. Es noteikt manu no adreses kas bot pie CS50.net. Es domāju, ka es nenožēloju nosūtot īsziņu uz 800 cilvēki, kas saka, miss you, mīlestība CS50 bot, varbūt tiem, kas nevarēja darīt to šodien. Un tad rindā 76, ko man darīt? Tas izskatās kā C. veida So I vienāds ar 0, n equals-- tagad rēķināties ir jauns. Izrādās, ka, ja jūs vēlaties, lai saņemtu skaits lietas masīva, Jums nav atcerēties to vairs. Jūs varat vienkārši jautājiet funkcija sauc skaits, un tas jums pateiks, cik daudz adreses ir šajā masīvā. Un tad es esmu gatavojas pievienot adresi uz e-pastu. Un es zinu, tas no izmantojot dokumentāciju. Tur ir add adrese funkcija. Un tagad paziņojums tur ir viens gabals sintaksi. Mēs esam redzējuši šo pirms C. Līdzīgi garā. Jūs varat domāt par dolāra zīmi pastu kā mainīgo lielumu, kas tas ir. Bet tas ir struct iekšpusē kas ir ne tikai īpašības, mainīgie ja Jums gribas. Bet izrādās, ka PHP, kurā ir objektorientētā programmēšana valoda, piemēram, Java, ja jūs pārņēma APCS. Dollar zīme pastu, ja jūs vēlaties, kuri paredzēti, tas arī ir funkcijas iekšpusē no tā, vai metodes. Tātad tas nozīmē, ka īpašu PHP mailer bibliotēka, ja man mainīgo daļu, ja es vēlos, lai izsauktu funkciju, kas nāk ar šo bibliotēku, šodienas vajadzībām, tikai zinu, ka jūs izmantojat bultiņas notācija. Nav dot apzīmējumu. Tas ir tikai bulta. Bet tas nav rādītājs. Tas ir tikai aizgūts no C sintaksi. Tāpēc aicinu pievienot adresi iekšpusē Šī bibliotēka ir objekts vai mainīga. Viss kārtībā. Tas ir maģisks līnija. Tas ir, kā es varu nosūtīt e-pastu. Tas ir ekvivalents atvēršanu Gmail, ierakstot to ārā, un trāpot sūtīt. Bet tas notiek, lai vietā Uzrakstīt e-pastu uz šo adresi, ar šo iestādi, no CS50 bot. Un tagad galvenais līnija. Šī līnija bija klāt, piemēram, 2011 kad es domāju, ka es pēdējo reizi mēģināju šo. Ka līnija tur, protams, notīra adreses. Tātad loģiski, ja es nav skaidrs adresi pēc katra atkārtojuma, pirmais e-pastu vai īsziņu iet uz Alice, otrais iet uz Alice un Bob, trešais iet uz Alise un Bobs un Čārlijs, tāpēc ļoti dārga kļūda Es šajā gadā. Tātad, pieņemsim redzēt. Vai ir kādi jautājumi Pirms mēs nosūtīsim jums visu tekstu ziņojums ar 10 procentu varbūtību? Kādi jautājumi? Viss kārtībā. Pieņemsim, man iet šeit un maiņa parole uz ko būtu jāstrādā, būs iespējams iegūt melnajā sarakstā ar Gmail. Lai viņi varētu ne visi iet ārā, jo tie, iespējams, nepatīk mums sūtīt e-pastus 800 in A cilpa visu uzreiz. Tā kā tas nav īpaši cilvēka uzvedība. Ak, es esmu gatavojas mainīt vienu citu lietu. Augšā, es esmu gatavojas sent-- mainīt failu studentiem dot CSV. Un es ne atvērt šo, bet tas ir identisks CSV failu ar nav 100 darbiniekiem, bet 800 studenti, tikko Hārvarda, jo Yale ir Oktobris padziļinājumu šonedēļ. Un šķiet, piemēram veida paraut lieta darīt teksta viņiem visiem par to, kāpēc viņi nav klasē par brīvdienu. Tas ir labi. Tikai Harvard studentiem Šodien iekšpusē šo failu. Un tagad iesim atpakaļ uz manu termināļa logā. Es esmu veida nervu. Labi, tāpēc tagad es esmu gatavojas doties uz direktoriju, un PHP teksts dot PHP. Kā par vienu drosmīgs brīvprātīgais? Tāpēc es nevēlos šo par mani. OK, nākt uz augšu. Kā tevi sauc? MAYA: Maya. SPEAKER 1: Maya. Nāciet uz augšu, Maya. Viss kārtībā. Let 's redzēt, ja tas darbojas. Man savu e-pasta adresi file-- savu tālruņa numuru failā, tā ka, cerams, es nopirkšu vienu, kā arī. Prieks iepazīties. MAYA: Tāpat. SPEAKER 1: Tātad viss, kas jums jādara, ir hit Enter, lai nosūtītu 800 īsziņas, ja man nav screw up. Nice. Varētu pieņemt, bet statistiski kamēr mēs uz e-pastu address-- īsziņu, kas ir istabā tieši tagad. Pieņemsim kavēties un redzēt. Mērķauditorija: [whistling] SPEAKER 1: Ak, jā. Mērķauditorija: Ak, gotcha. SPEAKER 1: Par cilpas are-- šis nav lēns, jo PHP. Tas ir lēns, jo Gmail ir droselēšanas mums un nav ļaujot mums sūtīt vairāk nekā kā viena e-pastu sekundē. Jebkas? Tas bija grūti lieta man testi mājās tikai ar mani un manu vienu tālruni, tā. Vai tas, cerams, no bot? Jā? Nē? Saka, jā. Nē? Tas ir no drauga? Neērts. LABI. Diezgan pārliecināts, ka tas strādā, lai gan. Uh oh. Viņi black-- Ak, pagaidiet minūti. Ak, jūs zināt, ko? Mirklīti lūdzu. Tikai Maya un I-- Mia, tas bija? MAYA: Maya. SPEAKER 1: Maya, gatavojas zināt, ko es darīju nepareizi šeit. Ak, pagaidiet minūti. Es domāju, ka es tikko nosūtīju 100 īsziņas 555-1212. Stāvēt. Es nevaru uzvarēt kādu gadu. LABI. Maya? Fix ka post ražošanā. Nolāpīts! Pēc no adresi. OK, stāvēt. Piedodiet. Tas ir sāpīgi katru gadu. OK, viens mirklis. Tas ir labi. Es esmu tā vietā gatavojas to darīt. Print adrese. OK, stāvēt. Drukas adreses, kronšteins i. Jā, man patīk, ka. Dollar sign-- OK Es paskaidrošu, ko es esmu darot pēc brīža, kad es esmu palaist šo. Katru gadu. OK, šeit mēs iet. Man ir just--, un es nevēlos parādīt ikviena tālruņa numuru, bet Maya var apstiprināt ar nod galvas, ka viņa redz visi ir tālruņa numurs klasē ka es esmu gatavojas iekopēt programma, ko sauc Gmail. Un, ja Gmail, ko mēs gribam teikt? Pietrūkst tevis. Love-- tas nav no manis. Man pat nav hit sūtīt vēl. So iesim uz priekšu un darīt Tas, ja es varētu pietuvināt. LABI. Tāpēc es esmu, izmantojot programmu, ko sauc Gmail tagad. Ja Maya, jūs vēlaties noklikšķiniet uz pogas Nosūtīt, mēs modelētu, kas tas kods būtu jādara. Jebkas? [BEEPS] Mērķauditorija: Yep. SPEAKER 1: Jā? Pestīšanas? Mērķauditorija: Yep. SPEAKER 1: Miss jums. Un es esmu gatavojas izsūtīt pārējo. Es izsūtīja pusi, jo es nedomāju, ka Gmail varētu ļaut tiem iet cauri. Tik vienkārši atcerēties, šodien ir diena ka jūs esat iemācījušies, ka es varu izmantot Gmail. Tas bija šausminošs. Liels aplausi uz Maya. Paldies. Labi, tā. ko [BEEPS] Mēs saņēmām dažas pīkstieni, jā? Viss kārtībā. Tagad es esmu gatavojas saņemt 700 patiešām nelaimīgs vēstules atpakaļ no klasesbiedriem. Tātad vismaz mēs redzēsim ja tas bija tā vērts. Tātad, kas nogāja greizi? Es izdomāt, ko gāja nepareizs pēc fakta, bet paskatieties, cik viegli tas bija jādara, ka PHP. Tātad, ko mēs varam reāli darīt tagad, mums ir šī izteiksmīgumu PHP. Tas was-- tas bija briesmīgs. Viss kārtībā. Tā, ka bija kādi būtu izgājis. Tas bija man testēšana šorīt uz manu tālrunis, faktisko screenshot manu tālruni. Bet tagad pieņemsim apsvērt kāpēc mēs faktiski ieviešot visu šo stuff pirmajā vietā. Tātad mērķis nav rakstīt šīs programmas, kas ir rakstīti pie komandrindas, vai ne? Tāpēc es uzrakstīju vienkāršu sveiki programma, es uzrakstīju maz programmu, kas dara conditionals, un izmantoja lasīt līnijas un tā tālāk. Un teorētiski, es tikai uzrakstīju programma, kas izsūtīti 800 īsziņas, dot vai ņemt 800. Un šī programma bija viss vēl palaist komandrindas. Un tas, protams, ir ne web, vai ne? Mērķis šobrīd ir, lai sāktu izmantot ko es varu pieprasīt, ir vieglāk izmantot valoda, daresay vairāk spēcīgs valodas ziņā no iezīmēm, kas nāk ar to, lai sāktu rakstot kodu, kas rada mājas lapas. Tātad pēdējo reizi un pagājušajā nedēļā, mēs runājām par HTTP un HTML. Un, kas ir jauka par HTML ir tas, ka tā ir tikai tīra teksta. Un teksts ir noteikti kaut kas jūs varat drukāt ar burtiski zvanot drukāt f funkcija, vai drukas funkcija. Un tiešām, tas, ko PHP ir tagad gatavojas ļaut mums darīt. Tātad viens no piemēriem ir šodienas pirmkodu, papildus daži kodu ka man tur pirms brīža, mums ir programmas, piemēram, tas, piemēram. Froshims, vai Pirmkursnieks Iekšējās Sports, patiesībā bija viens no pirmajiem extracurriculars I got iesaistīti ar gadiem. Un mans istabas biedrs un es, ar daži citi bērni par universitātes pilsētiņā, ko izmanto, lai palaistu froshims programmu. Es saņemu manas īsziņas tagad. Tagad, lai mēs, atpakaļ dienā, tāpēc šis bija 1996, vai arī tā, tur bija internets, bet nebija process-- tur Nebija mājaslapa froshims. Un tā, ja jūs vēlaties, lai piereģistrēties futbols vai volejbols vai kāds, Jūs varētu aizpildīt šo lietu sauc papīra gabals, un jūs varētu staigāt pāri Harvard pagalmā, un jūs slide to uz pasta slotā Proctor, kurš bija Wigglesworth, viens no dorms. Un tas bija jums reģistrēta. Un viņš vai viņa pēc tam sacerēt e-pastu uz Jums manuāli, līdzīgi I tikko bija šeit ar Maya, un tad jums būtu jāapstiprina kā ir ticis reģistrēts. Tātad tas bija, piemēram, zems karājas augļus, lai runāt. Tā bija sava veida stulba, ka mēs, izmantojot papīru par to. Es gribēju, lai mēs spētu tikai iet uz mājas lapā, vai ir freshmen iet uz mājas lapā, reģistrēties par sportu, un tikai automatizēt daudz šo stuff liekot viņu vārdus un e-pastus un tā tālāk datu bāzē. Un patiesībā, pati pirmā versija tīmekļa vietnes, izmantojot super neglīts HTML, varētu būt izskatījās kaut kas līdzīgs šim. Tas bija tiešām, ironiskā kārtā, vairāk neērts meklē nekā šajā atpakaļ tad. Bet es izmantoja programmēšanas valodu. Ne PHP, bet drīzāk sauc Perl, kas ir vecāks valoda, bet ļoti līdzīgs garā. Un es tikko pilnīgi mācīja to uz sevi. Un tas bija man, bet, lai skaitlis tas, lūdzot daudz jautājumu par draugiem. Bet idejas tur bija viena un tā pati. Jo tas, ko PHP bija tiešām izstrādāta jo nav komandrindas sīkumi mēs tikko spēlēja ar, bet par web programmēšanu. Tas ir tiešām saistīts tās funkciju iestatīts tīmeklī, šādi. Tas ir froshims. Un, ja es gribēju reģistrēties šajā veidlapā, tas ir diezgan neglīts, protams, bet ļaujiet man iet uz priekšu un būt mazāk apmierināti students, un kāds sports Matthews, noklikšķiniet uz reģistru. Ko es gribu, lai varētu to darīt, ir sniegt informāciju no formā, ne uz Google servera, piemēram, mēs darījām pēdējo reizi, pilnīgi krāpšanos, izmantojot savu backend, es vēlas īstenot savu backend kodu. Kas nozīmē rakstīt PHP kods, kas dzīvo pie URL šajā veidlapā datus var iesniegt. Un tad jūsu kodu, uzrakstīts PHP uz servera, tad var atbildēt uz šo lietotāja ievadi. Tāpat viņa vai viņas vārdu, vai komforta līmeni, vai kopmītnes, un tad kaut ko darīt ar to. Šajā gadījumā, es tikko muļķīgi izdrukāts to ārā kā tekstu, kas nav tik skaista. Bet jūs, protams, var iedomājieties, ja jūs zināt HTML, un jūs drīz zināt, kā radīt HTML ar drukas f, un drukāt, un līdzīgas funkcijas, jūs noteikti var radīt prettier mājas lapu, kas saka, hey David, jūs tagad reģistrējies. Tu esi mazāk apmierināti students no Matthews, vai ne? Jūs varat izmantot visu ķekars% SES, vai cirtaini bikšturi un dolāra zīmi apzīmējums Es mēdzu pirms brīža, lai radīt tekstu, kas ir vairāk lietotājam draudzīgu nekā šis. Tātad, pieņemsim to apskatīt šo vienu failu. Froshim nulle dot PHP izskatās šādi. Kad es pārlādēt CS50 IDE, froshim nulle izskatās šādi. Tas ir froshim nulle dot PHP. Un ko jūs pamanāt par šo failu? Mērķauditorija: [dzirdams] SPEAKER 1: Atvainojiet, nedaudz skaļāk? Mērķauditorija: [dzirdams] Tas viss ir HTML. Un patiesībā, tas ir, jo kas ir interesanti par PHP ir tas, ka tas bija paredzēts būt, lai labāk vai sliktāk, sajaukti ar HTML kodu. Un patiesībā, pat ja tas fails, froshim nulles dot PHP, ir PHP komentāru augšpusē par to, tas viss ir tikai HTML. Bet savukārt, ja es atvērtu, pieņemsim teiksim, reģistrēt nulles dot PHP, kas vienkārši ir liels komentāru augšpusē. Arī tas izskatās gandrīz pilnībā piemēram, HTML, izņemot par ko? Line, ko, 21 izskatās mazliet dīvaini. Bet paziņojums es esmu ievadot PHP režīmā ar atvērtu stiprinājuma jautājuma zīmes PHP. Tad es esam ieguvuši daži sīkumi. Un tad beigās, šīs līnijas gandrīz man ir, jautājuma zīme PHP. Un tas ir tas, ko es domāju ar sajaucas. Jūs varat rakstīt HTML, ka jūs vienkārši lai serveris izspļaut. Bet, ja jūs vēlaties darīt kaut ko dinamiskā partway caur lapu, piemēram, ievietot savu vārdu vai kopmītnes vai komforta līmeni, Es varu izmantot funkciju piemēram, drukas r, kas ir drukāt rekursīvs, kas nozīmē tikai to, izdrukāt šo mainīgo, formatējot tomēr vēlaties. Tas tiešām nav par cilvēku vajadzībām, tā ir tikai debugging vai diagnostikas nolūkos. Tātad, tas ir, kā es to izdarīju. Ja es tā vietā iet froshims divi dot PHP, ievērosiet, ka prasība par šo veidlapu nav reģistrēts nulles dot PHP kā old-- iepriekšējais patiesībā bija. Bet tas ir reģistrēts divas dot PHP. Tātad pieņemsim apskatīt, kā šo vienu uzvedas mazliet savādāk. Ja es iedziļināties versijā divi. Ja šeit, ja es reģistrēt kā Dāvids, mazāk ērts, no kopmītnes uz Mathews, reģistrēties. Tāpēc šoreiz tā teica, jums ir reģistrētas, nav īsti. Let 's redzēt, ko es darīju šeit. Ja es paskatos reģistrā divi dot PHP, šis ir vēl nedaudz PHP kodu. Tas ir nedaudz tīrāku, lai gan tas joprojām wraps nedaudz ilgi uz šīs līnijas. Ievērojiet šeit. Es izdrukāt savu HTML tagu, mana galva tag, mans nosaukums tag, galvas, ķermeņa. Un tad es sāku teikt lietas, piemēram, ievadīt PHP režīmā. Un tā šo frāzi, atveriet kronšteins PHP-- jautājuma zīme PHP saka, hey, serveris, execute-- interpretēt šādi sīkumi kā PHP līdz redzat beigu tagu. Un, pat ja jūs varētu nezināt, kāda citas PHP, nekā jūs esat redzējuši līdz šim, Jūs varat veida lasīt tas diezgan intuitīvi. Ja vārds ir tukšs, vai arī komforts ir tukšs, vai kopmītnes ir tukšs, ko man darīt? Ko es varu teikt, lietotājs? Jums ir sniegt savu vārdu, komforts, un kopmītnes, un tā tālāk. Else, es teiktu, ka esat reģistrēta, arī nav īsti. Un es saku ne īsti jo tur nav datu bāzes. Es neko nedaru ar datiem. Es esmu tikai throwing to prom demonstrācijas nolūkos. Tagad es veida skimped virs līnijas 22. Tur ir vairāk sintakse tur, bet dolāra zīmi uzsvērt amats ir diezgan interesants. Un tas ir tas, kas ir jauka par PHP. PHP, jums ir, ko sauc par daži super globālie mainīgie. Tie ir sava veida vēl svarīgāka par globālo mainīgo. Un tie visi kapitalizēti Tā, piemēram, nāk ar PHP. Tātad, ja jums ir serveris, kas ir uzstādītas web serveri, piemēram, Apache, un jūs instalēt valodu atbalsts PHP, visi pēkšņi tu var sākt izmantot šo super globālie mainīgie savu kodu. Un, kas ir jauka par PHP ir tas, ka, ja jūs vienkārši rakstīt failu, kas beidzas ar dot PHP, ielieciet to uz web serveri, un tad jūs iesniedzat veidlapu uz to izmantojot šo rīcības tag un veidlapas tag, ka rīcība atribūts forma tag, PHP un web pilnīgi skaitļi, kā paķert Visu šo galveno vērtību pārus out Līdzīgā jautājuma URL zīmi Q ir vienāds kaķi, tas būs izdomāt, kā q un kaķiem. Ja jūs iesniegt fotogrāfiju vai lietotājvārdu, vai paroli, lai, piemēram, Facebook, PHP būs izdomāt jums kur visi dati tiek. Un tas būs tikai roku Jūs esat asociatīvā masīva sauc dolāra zīme pasvītrojums post, vai dolāra zīme uzsvērt iegūt, atkarībā no tā, vai jūs esat izmantojot GET vai post iesniegumus. Un tas būs tikai jums roku super globālo mainīgo, tā ka, ja jūs vēlaties iegūt pēc nosaukuma ka lietotājs iesniegts, izmantojot šo tīmekļa forma, tu burtiski vienkārši pateikt vārdu no super globālo mainīgo, quote, likt pēdiņas beigās, nosaukums. Un quote, likt pēdiņas beigās komforts, un quote, likt pēdiņas beigās kopmītnes. Un mēs ejam, lai varētu izdarīt šo un tā daudz vairāk ar PHP. Un, lai gan tas bija viesulis skatienu pie tā, mēs nirt daudz nākamnedēļ. Mēs ieviest datubāzi tā, ka jūs faktiski gatavojas sākt īstenot savu e-trade based-- piemēram, mājas lapā tikai nedēļu laikā. Tātad mēs redzēsim jums nākamreiz, un ceru, ka jums īsziņas. Bye. [Mūzikas atskaņošanai] [DOOR ATKLĀŠANA] SPEAKER 2: Hey. SPEAKER 3: Kas notiek? SPEAKER 2: Ko tu dari? SPEAKER 3: Darbs uz problēmu kopumu. SPEAKER 2: Nice. Dod pieci. [DOD PIECI] Kas are-- uh, ko jūs šeit darāt? SPEAKER 3: Just piekārtiem. Tikko atgriezos no sporta. Es nevarētu palīdzēt, bet ievērosiet, kad mēs augstu fived, ka jums ir diezgan raupja roku. Vai jums iet uz sporta zāli? SPEAKER 2: Nē. Nē. SPEAKER 3: Dude, jums izskatās diezgan liels. Kas ir slikti, jo visi zina, 8-ball ir liels vīrs par Campus. Dod pieci. SPEAKER 2: Uh, nē. Nē, es domāju, ka es esmu labs. Es domāju, ka es esmu labs.