ROB Bowden: Dan huwa l- taqsima aktar komda, iżda dan ma jfissirx li jekk inti jħossu bħal int mhux aktar komdi inti mhux ser jitgħallmu affarijiet hawn. Mela ejja tibda. Għandek slides jmorru dritt fis-affarijiet. Am I waslu biex ħu dan id-dritt issa? Qlib laptops. ALLISON: Inti ma tridx li tintroduċi lilek innifsek, Rob? ROB Bowden: Oh, jien Rob. Dan huwa ħames sena TF-Ing CS50 tiegħi. GABRIEL: Ninsab Gabriel. Jien TF kap ta 'CS50. I kien TF aħħar sena u din is-sena. ALLISON: U jien Alison, u dan huwa t-tieni sena TF-Ing CS50 tiegħi. ROB Bowden: Kull dritt, hekk dan ħaġa fuq ix-xellug, nisperaw inti stajt tidher qabel. Jekk mhux għaliex inti niżżlu għalik innifsek, inti għandek raw dan fil lecture. Allura dan huwa l-appliance CS50, u hu għamlet xi ftit ta 'deskrizzjoni ta' dan fil lecture. Imma bażikament huwa biss int qed jitħaddmu operattiv sistema fi ħdan operattiva tiegħek sistema sabiex inkunu jistgħu jagħtuk programmi mingħajr il-bżonn ninkwetaw, oh huwa dan sejjer jaħdem kemm fuq Windows u Mac, jew jekk xi wħud minnkom huma diġà qed jużaw Linux, Linux. Huwa biss suppost li tkun playing komuni qasam sabiex kulħadd ikollu l- ambjent eżatt istess. Mela jekk inti ma jkunux jitniżżel dan diġà, inti għandek tniżżel dan, għaliex int tmur bżonnha għas-sett problema. U huwa tnejn gigabyte download, u għalhekk jista 'jieħu awhile. Fuq il-Harvard li ser imorru malajr. Appliance hekk CS50. Issa fil-bidu, aħna qed tmur biex jitkellmu dwar biss mazz ta 'linja ta' kmand Jittieħed, u għalhekk minn dak, I tfisser xogħol f'dan l-ambjent ftit aktar hawn. U avviż kollha ta 'affarijiet I say dritt hawn dritt issa sejjer jaħdem jekk int ġewwa ta terminal ġewwa tal-appliance, jew jekk inti ġewwa ta ' il-tieqa terminal gedit ġewwa tal-appliance. Allura dawk l-ambjenti huma identiċi. Imma jien se jmorru terz rotta. U avviż stabbiliti hawn dan ftit indirizz IP dritt hawn. Allura inti ma għandekx tagħmel dan, iżda dan IP address-- issa jekk I-- ħlief huwa imblukkata mill din il-ħaġa. OK, hekk li l-indirizz IP fuq f'terminal here-- hekk din terminal fuq hawnhekk hija terminal fil Mac tiegħi. Allura dan huwa bl-ebda mod bħalissa assoċjati mal-apparat fil-livelli kollha. U jekk int fuq Windows, allura int ser jeħtieġ li tniżżel xi ħaġa speċifikament għal dan, b'mod partikolari nies għandhom tendenza jużaw Putty, P-U-T-T-Y. Allura dak li jien ser tagħmel hu li tip SSH u mbagħad dak l-indirizz IP. Well, jharvard f'dak l-indirizz IP. Hekk 192.168.24.220. Dan il-messaġġ scary, jinjoraha. Just tip iva. Dan huwa CS50 f'kaxxa. Huwa jitlob għall-password tiegħek. U għalhekk fil-lott ta 'dawn il-kuntesti fejn hija tistaqsi għall-password, [inaudible]. Imxejna ltqajna ħafna mistoqsijiet fejn jgħid mhuwiex attwalment ittajpjar. Ma nuruk-karattri ta ' il-password kif inti tip, jekk xejn, għal karatteristika ta 'sigurtà, għaliex jekk xi ħadd qed tfittex fuq l-ispalla u jaraw star star star star, allura dawn jafu li password tiegħek huwa erba 'karattri. Allura l-idea hija li se jistaqsi inti għall-password tiegħek, it-tip. Mhuwiex ser juru inti l-karattri, imma hija attwalment taċċetta minnhom. F'dan il-każ, kwalunkwe ħin li inti qatt tara password pront jittrattaw l-apparat, il- password se tkun krimżi. Hekk krimżi. U issa hawn ġewwa ta 'dan tieqa li huwa fil Mac tiegħi, I am bażikament jkollhom l-istess fehma eżatt bħala ġewwa ta 'terminal fl-appliance. Allura inti ma għandekx tagħmel dan. Tista 'tagħmel dak kollu li għandek tixtieq ġewwa tal-appliance. I kważi qatt fil-fatt jagħmlu xejn fl-appliance. I kważi dejjem jimminimizzaw dan u issa Jien SSH taħdem fil-appliance. Jekk xejn, jekk inti jkollhom kompjuter bil-mod, li tista 'tinnota differenza. Nagħmel dan minħabba I jippreferu dan il-tieqa terminal. Hija għandha xi karatteristiċi simili I tista 'tinqasam il-tieqa, u issa I jistgħu SSH fl permezz tal-appliance. I ltqajna żewġ SSH għaddej f'daqqa. Jekk il-kompjuter tiegħek huwa partikolarment bil-mod u int taħdem fl-appliance, u inti tirrealizza dan huwa verament laggy, ikun x'ikun. Tendenza li jkun ħafna aktar mgħaġġla jekk int SSH ed fil. Imma inkella inti tista 'taħdem jew mod. UDJENZA: X'tagħmel SSH jfisser? ROB Bowden: qxur Sikura, xi ħaġa bħal dik? X'tagħmel SSH jfisser? GABRIEL: qoxra Secure. ALLISON: Huwa qoxra biss sigur. ROB Bowden: qoxra Secure. Huwa protokoll li you-- huwa protokoll sigur, hekk encrypted. Nies ma jistgħux Snoop-netwerk u tara dak li qed tgħid li xejn int SSH ed biex. U fil-fatt, fil-antik ġranet ta 'CS50, hekk fl-2009 meta I kien freshman, il-mod li inti tkun ħdimt fuq settijiet problema CS50, kien inti SSH ed xi server li aħna taw aċċess għal, u inti ħadmu fuq hemmhekk. Allura inti ma kellhomx din appliance grafika. Inti ma kellhiex gedit. Inti ma kellhiex dawn kollha affarijiet li inti tista 'viżwalment punt u kklikkja. Inti kellu jaħdem f'dan interface. I jippreferu li jaħdmu f'dan interface. Allura parti ta 'dak li aħna qed tmur li għandha tmur fuq id-dritt issa huma mazz ta 'l- jikkmanda li inti għandek tibda tikseb familjari ma kif tmur flimkien fil-kors. U onestament, ladarba inti jidraw lilhom, dan hija tant mgħaġġla li jaħdmu f'dan l-ambjent milli huwa li taħdem ma finder, jittrattienu u tikklikkja l-affarijiet. Allura aħna qegħdin hawn. Issa I biss SSH-ed fil, u għalhekk l-inadempjenza location-- inti raw xi wħud minn dawn il-kmandijiet fil-klassi, iżda aħna ser jmorru fuq kull wieħed minnhom mill-ġdid. Il-lokazzjoni default nkunu fil hija l-direttorju dar. U direttorju, biss kelma oħra għal folder. Allura aħna qed fil-direttorju dar. Ls Tip, jelenkaw l-fajls f'dan id-direttorju. Evidentement I ħolqot blah.c qabel. Allura aħna għandna direttorju desktop. Tinnota l-sintassi tenfasizza? L-enfasi dawl blu jindika direttorju u l-abjad dritta jindika biss fajl sempliċi. Allura hemm ser tkun xi kuluri oħra li inti tara. Eżekutibbli fajl huwa probabbilment se li jkun aħdar jew xi ħaġa bħal dik. OK, hekk aħna fil-direttorju dar. Issa jekk irrid li jmorru fi differenti direttorju, cd hija l-kmand nixtieq. Allura bidla tad-direttorju, u allura inti jgħaddu l-isem tad-direttorju li inti tixtieq li tmur fis. Allura hawnhekk għandna erba 'għażliet. I tista 'tmur fil downloads, u issa naraw hawn aġġorna dan parenthetical ngħid jien fil ~ / downloads. Allura x'inhi tilde? Huwa qosor għal direttorju dar tiegħek. Allura kważi dak kollu li għandek tagħmel huwa se tkun tirrigwarda direttorju dar tiegħek, u PWD huwa biss kmand I jużaw darba fis-sena li biss prints l-direttorju kurrenti. U għalhekk inti tara hawn li ~ / Downloads verament jirrisolvi li / home / jharvard / downloads. Allura / home / jharvard huwa direttorju dar tiegħi. Allura nistgħu cd dot dot. Issa dot dot huwa direttorju speċjali li dejjem jirreferi għall-direttorju wieħed up. Hekk jekk jien fil ~ / downloads, allura cd dot dot huwa ser iġibu lili biex tilde. What do naħsbu cd dot dot huwa ser iġibu lili issa? Hija ser iġibu me / home. Allura tilde mill direttorju xogħol print, Jien fil issa / home / jharvard. direttorju wieħed up minn dan, issa jgħid here / home. Issa cd dot dot. Issa jien fid-direttorju għerq, u inti ma tistax tagħmel dan mill-ġdid. Int ser ikollok biss jibqgħu fil- direttorju għerq dejjem. Id-direttorju għerq għandha mazz sħiħ ta ' affarijiet li, jekk inti tixtieq li tħares lejn, tista '. Per eżempju, jekk immur fis bin, li fih dawn binaries kollha, bħal ls, u cd, u kollha ta 'dawk l-affarijiet. Allura dawn il-kmandijiet bżonn jeżistu x'imkien fis-sistema, u huwa fid-direttorju / bin. Iżda kważi kollox inti tagħmel huwa se jkun minn direttorju dar tiegħek. U cd mingħajr ebda argumenti tkun xi tkun, inti tista 'tgħid cd ~, m'għandhomx bżonn li. cd hija ser iġibu lilek lura għall-direttorju dar tiegħek. Waħda mill-aħħar wieħed. cd - se inti tressaq lura lejn l-aħħar tad-direttorju li inti kienu fil. So I biss cd'd darbtejn in fila, hekk tiegħi aħħar direttorju kienet il-direttorju dar. Jekk immur mmejla bin, u issa ejja go up u fis utent. Sehem utent. Ejja mur sehem utent. Issa jien issa fis-sehem utent. cd -, lura fl bin. Allura dan gets partikolarment utli meta inti have-- u inneħħu toggle. Allura sehem utent, lura bin, bin sehem. Allura dan gets utli. Inti tista 'ssib ruħek li ħafna, ħafna, direttorji nested ħafna. U inti tixtieq li tagħmel xi ħaġa quick reali direttorju ta 'fuq. Inti tmur f'dak direttorju, jagħmlu bidliet u għalf bħal dik, u issa inti tixtieq li tmur lura lejn fejn inti kienu. cd -. Jien dejjem frustrati meta I jiġri li jmorru għal dak direttorju I riedu li jagħmlu xogħol fil-. I dejjem jiksbu frustrati meta għamilt magħha f'żewġ passi minflok pass wieħed, għaliex dan ifisser li cd - huwa għaddej biex idaħħlu fis f'dak il-post intermedju minflok fejn Irrid immur. Allura naraw il-fajls kollha lista. Nafu kif tikseb madwar s'issa. Allura issa ejja nitkellmu dwar editjar fajls. Allura f'dan il-kors, int kważi dejjem mistennija jużaw gedit. Jekk inti tixtieq, inti tista 'tieħu l-pass li jmiss u tibda t-tagħlim test linja ta 'kmand editur. Allura għażliet varji jeżistu. U dawk li huma probabbilment se tkun relevanti għalik, għandna Nano, vim, u Emacs. Allura Nano hija l-jibdew kmand tal-linja test editur. Mela Nano ejja jmorru fuq blah.c I maħluqa qabel. Huwa biss dan il-fajl C standard. U tara mazz sħiħ ta 'għalf għaddej fil-qiegħ tal-iskrin, u apparentement blah.c fih dan il-kodiċi C. Allura f'dan editur partikolari, dak li kien qal fil-bottom-- issa dan is-simbolu caret, naraw dan ^ G, ^ X, ^ O. Allura li fi kważi kollha kuntest li tara, inti tista 'tara dak is-simbolu caret fl postijiet oħra online, fuq munzell overflow, xi ħaġa bħal dik. Huwa kważi dejjem jirreferi għall-kontroll. So għall-ħruġ nixtieq do Kontroll X. Kontroll X, ħruġ. U nista 'nuża vleġġa tiegħi ċwievet biex jiċċaqalqu. Avviż I ma tista 'punt u kklikkja faċilment. Inti jeħtieġ tuża arrow tiegħek ċwievet biex jiċċaqalqu. Jista 'jkun hemm setting għall-punt u kklikkja. Imma ejja jagħmlu xi bidliet. Issa Kontroll X biex imorru ħruġ. Li għaddej biex ngħid ħlief buffer modifikata. Issa fil-pront, y għal iva, n għall-ebda. Kontroll C għal tikkanċella. I ser biss jgħidu iva. Fajl isem li tikteb. L-default huwa l-fajl li diġà hi. Hit Ikteb. OK. Issa stajt biss editjat dan il-fajl, meħlusin, u ikun inbidel. Allura Nano hija l-eħfef test editur jidraw. L-alternattivi huma Vim u Emacs. Dawk huma edituri test ta 'livell ogħla li għandhom kurva tat-tagħlim wieqaf ħafna. Allura preferenza personali tiegħi huwa Vim. U għandu varjetà wiesgħa ta 'għażliet. U ladarba inti jidraw lilha, int qatt ser tixtieq li tmur għal kwalunkwe oħra test editur għaliex inti biss tant affarijiet disponibbli lilek fil dawn, iżda tieħu verament żmien twil biex jitgħallmu. Allura forsi inti biss tixtieq li seħħ yourself dritt issa biex jidraw lilha, imma jien ngħid huwa worth it. Iżda huwa diffiċli. U mbagħad Emacs. Jien dejjem jbatu fl Emacs għaliex Naf kif jagħmlu assolutament xejn. Apparentement Emacs mhuwiex b'mankanza installat fuq l-appliance. Aħna probabbilment se jżidu li bħala installazzjonijiet default. Ladarba inti jitgħallmu waħda mill VIM jew Emacs, hemm ebda raġuni konvinċenti biex qatt jitgħallmu l-oħra, imma hija stil kompletament differenti. OK hekk li l-editjar fajls test. UDJENZA: Jekk inti kienu staġnati fil Vim dritt issa, kif do we-- ROB Bowden: Hemm modi multipli Vim, u hemm kollu tutorials fuq it-tagħlim Vim. Mela jekk inti jiġri li jkun fl daħħal modalità sabiex tip test, li inti tista ' jidħol li fil-modi varji, iżda i huwa kif inti tikseb fis daħħal modalità. Jew toħroġ 'kwalunkwe speċjali modalità li int fil, biss jaħarbu. U inti biss bash Escape biex tikseb out ta 'kwalunkwe modi nested fil tiegħek. Just OK, issa jien lura fil-modalità normali. U hekk fil-modalità normali, kolon. Tara dan jidher fil-qiegħ. U mbagħad q. Allura q se nieqaf jekk inti ħadna bidliet, li I-- jiena għamel bidliet? I għamlu bidliet apparentement. Mela jekk inti ħadthom għamel bidliet, inneħħu ngħidu li inti tista 'tpoġġi marka exclamation. Jien ser sejħa hija bang. Allura inti tista 'tpoġġi projbizzjoni għal ftit nieqaf mingħajr ma jsir xejn, jew WQ kolon se jiffrankaw u nieqaf. Allura w in ġenerali hu li tikteb. Allura tikteb il-fajl. Kapaċi nikteb u nieqaf. Jew inti tista għadek slam qx, q bang biss biex tikseb minn hemmhekk irrispettivament ta 'kwalunkwe bidliet li inti stajt magħmula. Kull dritt, hekk issa ejja go-- nistgħu noħolqu fajls. Ejja nibdew tneħħi fajls. U jien ser biss tarmi waħda quick ġdida ta 'kmand, touch. Allura touch foo. Bar Touch. Touch baz. Jekk ls I, issa naraw li dawn il-fajls jeżistu. Huma qed kompletament vojta. Allura touch huwa biss faċli mod ta 'wieħed, [inaudible]. Żewġ, teknikament biss għall-istat dan, taġġorna l-timestamps. Sabiex kwalunkwe fajl li inti toħloq għandu timestamp assoċjati magħha. Allura baz inħoloq fuq Settembru 14 fil 16:21. Huwa issa 16:22, hekk jekk I touch baz darb'oħra, aħna tara li baz kienet l-aktar modifikati reċentement fil 16:22. Iżda altrimenti I kważi qatt tħares lejn il-timestamps fuq fajls. Allura touch, hawn jien biss jużaw biex joħolqu xi fajls malajr. Kull dritt, hekk issa rm huwa l- kmand li aħna kura dwar hawn. U nistgħu rm Boo. Say neħħi Boo regolari fajl vojt. U aħna tista tip y, u issa huwa tneħħi. baz rm. Neħħi fajl vojt regolari baz u t-tip n għall-ebda. Issa huwa ma jitneħħiex. Allura bar u baz għadhom jeżistu. Foo hija marret. GABRIEL: Żomm jitkellem. ROB Bowden: Great. Allura l-messaġġ annoying hawn, neħħi empty-- regolari x'qed tagħmel stabbiliti hemmhekk? Neħħi fajl vojt regolari. Hekk jekk aħna ma tridx tkun bothered minn dak il-messaġġ, nistgħu tarmi f'din-f bandiera, u b'tali mod li seħħ. U issa jekk I rm-f, huwa mhux ser jgħidu do inti tixtieq li tneħħi dan il-fajl. Hija ser biss tagħmel dan. U ls, ma narax bar hemmhekk jibqgħalu. Issa li huwa potenzjalment kmand perikolużi. Hemm tendenza li ma wisq ħażina. Aħna ser jiġu lura fit-tieni mod kif jistgħu jiksbu verament perikolużi. U ejja joħolqu xi direttorju temperatura. mkdir, kmand ieħor. Allura mkdir huwa kmand li jagħmel direttorju. U issa billi ls naraw id-dawl sbieħ blu enfasizzati direttorju temperatura. Nista cd fis temperatura. U nista mkdir foo. cd fis foo. bar mkdir. cd fis bar. Allura naraw nistgħu faċilment jiksbu fis xi nesting pretty fond. Issa kif nista tneħħi direttorju? rmdir. Hekk jekk I biss straight jippruvaw rm, bħal għamilna ma 'fajl regolari, bar rm se jgħidu ma tistax tneħħi bar. Hija huwa direttorju. Hemm kmand speċjali għall tneħħija direttorji, it-tip ta '. Bar hekk rmdir. Issa bar hija marret. OK, hekk rmdir I pretty ħafna qatt ma jużaw. Ir-raġuni being-- issa ejja tagħmel bar fajl regolari fil hawn. Boo hekk rmdir. rmdir. Naqset biex jitneħħew foo. Directory mhux vojta. Allura inti ma tistax tuża tneħħi dir fuq direttorju li għandha l-affarijiet fiha. Hekk ikollok xi għażliet. Inti tista 'tmur f'dak direttorju, neħħi kollox manwalment, u mbagħad toħroġ u rmdir l-direttorju. Li ovvjament ħsejjes tedjanti. X'jiġri jekk hemm eluf ta 'fajls fil hemmhekk? Ukoll, inti tista 'rm *. Aħna ser jitkellmu dwar * fit-tieni. Dan bażikament ifisser l-affarijiet kollha. Iżda aħjar għadhom, -R hekk rm. Allura rm -r-- fil-lott ta ' kuntesti, -R ifisser rikursivi, li aħna ser nitkellmu dwar dak li mezzi jirrikorri f'diversi ġimgħat. Iżda huwa bażikament ifisser travers l-intier ta 'dan id-direttorju u neħħi kollox. Foo -R hekk rm se ngħid jinżlu fil foo direttorju? Iva. Neħħi regolari vojta fajl foo / bar? Iva. Neħħi foo direttorju? Iva. Allura issa foo u kollox fi ħdanu tneħħa. Issa li jistgħu jiksbu partikolarment annoying when-- ejja touch 1, touch 2, touch 3. Jista 'jkollhom mazz sħiħ ta' fajls. Jekk jien ridt, I tista 'toħloq eluf ta 'fajls fil hawn. U foo -R rm va li jkun pjuttost annoying. Iva, iva, iva, iva, iva, iva. Bil-lott aktar fajls inti malajr tara kif ħafna drabi I jkollhom tip iva. Well, aħna biss raw qabel kif nistgħu jeħles ta 'bżonn li tip iva,-f. Allura mkdir cd foo foo touch 1 2 3. OK, foo -rf hekk rm se addoċċ neħħi foo kompletament. Nru pront. Ebda xejn. Foo hija marret. So I għandhom tendenza li jużaw dan kmand-ħin kollu. Cela dit, huwa kmand perikolużi ħafna, għaliex jekk I tagħmel xi ħaġa simili dan, mhux se pront inti. Hija se tkun marret. U dan jiġri pretty spiss, u anki fil-livell ogħla korsijiet CS. Kultant aħna ser tara xi ħaġa fejn xi ħadd jgħid I aċċidentalment rm tagħna rf-ed-dar tiegħi direttorju u kollha ta 'sett P tiegħi hija marret. U huwa devastanti, iżda hemm ebda Trash jista. M'hemm l-ebda hemm xejn għalik sabiex tkun irkuprata. Huwa biss marret. Saħansitra agħar tkun xi ħaġa bħal -rf rm /. Allura aħna biss diskussi li direttorju għerq. Hija żżomm kollha ta 'l- fajls fuq sistema tiegħek. Affarijiet għandhom tendenza li tikseb pretty messy meta inti tneħħi affarijiet simili ls, u cd, u dawk kollha. UDJENZA: X'hemm differenza bejn rm, rf, u rm * ROB Bowden: Allura rm * - ALLISON: Mistoqsija kien x'inhu l- differenza bejn rm, rf, u rm *. ROB Bowden: Allura rm *. Star fil-mezzi ġenerali kollha tal il-kontenut ta 'dan id-direttorju. Jippruvaw jaħsbu oħra modi ta 'li juru stilla. Ukoll, istilla attwalment ġeneralment ifisser jlaħħaq kull mudell. Hekk jekk I jkollhom fajl imsejjaħ dog1, touch dog2, touch KAT1, touch KAT2. Allura ls * 1 se jistampaw KAT1 u dog1, minħabba li star jistgħu jiġu mimlija fil with-- l-waħda jeħtieġ li jkun hemm, iżda star jista 'jkun jew qattus jew kelb. Huwa wild card. Dik hija l-kelma I infittex. Wild card. Jew I tista 'ls-klieb *, u Jien qbilna biex tara dog1, dog2. Għalhekk dawn huma jelenka l-fajls li jaqblu dak il-mudell partikolari. Inti tista 'tuża ls b'dan il-mod. Ls * star logħbiet xejn. Allura li għaddej biex jistampaw kollha ta ' il-kontenut ta 'dan id-direttorju peress ilkoll jaqblu. Huwa mhux se print xejn fid-direttorji livell fuqani. Jekk ikolli sub direttorju, foo, u tmissx 1 2 3-- hekk issa jekk rm * star, neħħi KAT1, KAT2, dog1, dog2. Ma tistax tneħħi foo. Hija huwa direttorju. Allura star tespandi biex l- fajls fil-direttorju. Allura teknikament rm * huwa simili qal KAT1 rm, KAT2, dog1, dog2, foo. Billi -rf rm, teknikament star kieku tlesti dak li rridu, imma rm -rf-- jekk I go out ta 'dan direttorju, temperatura -rf rm, li għaddej biex tmur fis temperatura u recursively neħħi kollox. Allura star hija separata f'dak li Huwa mifhum by-- hekk dan ħaġa li niġri fil, dan il-ħaġa li huwa suġġeriment lili għal kmandijiet u mbagħad eżekuzzjoni u tagħmel minnhom, I call dan qoxra tiegħi. U għalhekk dan qoxra innifsu huwa program. U jekk jien ridt, I tista 'tmexxi fil / bin / bash. Il-qoxra huwa msejjaħ bash. U issa aħna Avviż xi ħaġa naqset ftit inbidlet, u dan għaliex settings tiegħi għal il-qoxra huma kemmxejn differenti. Imma issa jien teknikament running qoxra fi ħdan qoxra oriġinali tiegħi, u nista 'ħruġ li qoxra, u issa Jien lura għal qoxra tiegħi ogħla livell. L-iskop ta 'tgħid li is-- l-istilla. Allura l-istilla hija xi ħaġa mifhuma mill bash. Allura -rf rm, bandiera -rf huwa mifhum bi ftit rm. Huwa jaf li meta inti jgħaddu minn -rf li inti tixtieq li tneħħi recursively fajls kollha mingħajr suġġeriment. L-istilla hija xi ħaġa mifhum billi bash li meta inti tgħidli rm *, bash mhux se ngħid ħej rm *, neħħi stilla. Bash huwa se ngħid rm * neħħi KAT1, KAT2, dog1, dog2. Huwa awtomatikament ser jespandu kollha tal-fajls fil-direttorju. U l-istess tilde hija ieħor simbolu li bash jifhem. Meta inti tgħidli cd ~, bash tespandi li biex direttorju dar tiegħek. Mistoqsijiet oħra s'issa? OK hekk aħna qed tmur biex tibda tmur malajr. Tlestija tab. Just biex tarmi hemmhekk. A lott ta 'nies ma tirrealizza dan jeżisti. Mela jekk jien tip cd dow, I tixtieq li tmur fis downloads. I m'għandhomx bżonn li nloads tip. I tista 'biss hit Tab. Għalhekk jirrikonoxxi li dow huwa prefiss li ma taqbilx ma 'xejn inkella f'dan id-direttorju, għalhekk se tlesti dan għalik. Issa nista 'jidħol. I wkoll tagħmel dan recursively. Foo hekk mkdir. Ejja jmorru fil foo. bar mkdir. Allura jmorru lura lejn id-dar tiegħi direttorju, I jista 'jara downloads. Issa laqtu tab darb'oħra, awtomatikament ser jimlew foo. Hu l-uniku direttorju. Laqtu tab darb'oħra, awtomatikament ser timla bar. Hekk issa jien fil (~ Downloads / foo / bar). Allura dan tlestija tab, kulmeta I ltqajna biex ħinijiet tal-uffiċċju, u jien wieqfa fuq ispalla ta 'xi ħadd, u dawn qed tmur rm D--O W-N-L-O-A-D-S, jien jmutu. Tab Just, tab, tab, tab. Allura definittivament użati tab. U l-istess up u isfel, ħafna nies biss li ġara li qatt ma hit up u 'l isfel. Hija ser jgħaddu mill-preċedenti kmandi, hekk jekk inti biss dam xi ħaġa, u inti tixtieq li run mill-ġdid, biss istiva up till ikollok lilha. OK. Hekk malajr, xi affarijiet oħra. Ejja ħa mmorru lura fis temperatura. Ejja joħolqu xi fajls. Allura fil hawn, jien biss ser lista xi kliem. kelb, qattus, meow. Ejja nagħmlu kelb, ħut. Allura issa rep hija ħafna kmandi utli li inti jużaw biex ifittxu matul fajls għal test partikolari, u teknikament inti tista 'tagħmel verament espressjonijiet kumplessi għall li jaqblu. Allura hawn, jekk I grep, u liema do I trid tfittex għall? Ejja ngħidu jien tiftix għall-qtates, u I trid tfittex kollha ta 'dawn il-fajls. Allura kif nista 'nagħmlu kollha ta' dawn il-fajls? Star. Allura f'fajl wieħed, għandi qattus. I probabbilment jista 'jkollhom sejħitilha xi ħaġa aħjar, minħabba li qisu linja numri jew xi ħaġa. Iżda f'fajl wieħed I jkollhom linja mal-qattus. Fil-fajl tnejn għandi linja mal-qattus. Allura issa I tista 'tfittex ġewwa fajl wieħed u tara oh yeah, dan il-fajl ma jkollhom qattus. Avviż fajl tlieta ma qablitx għaliex qattus ma jkunx hemm. I jistgħu grep għall meow. Biss fajl tnejn għandha meow. Allura dan inti tista 'tgħaqqad, għal darb'oħra, bl -R, li kif għidt qabel spiss ifisser rikursivi. U hekk I tista 'toħroġ hawn, grep -R għal kwalunkwe eżempju of-- ejja jeditjaw dan wieħed biss li tarmi qattus fil hemmhekk. Allura grep -R għal kwalunkwe każ ta ' qattus matul dan id-direttorju. U se recursively tfittxija xi subdirectories. Allura fil baz, hemm qattus. Fil temperatura / 2, hemm qattus. U fil temperatura / 1 hemm qattus. Allura dak tiftix fi ħdan fajls. Issa inti tista 'wkoll tuża ssib. U għalhekk jsibu hi speċifikament dwar tfittex għall-fajls ma 'isem mogħti. Mela ejja jagħmlu ftit aktar. Ejja jmorru fil downloads. Touch dog1. Touch KAT2. Touch cat_dog. Touch catcat. So I jridu jsibu kollha fajls bl kelb fl-isem. Allura ssib, u għall-itwal darba I qatt mfakkar kif issib maħduma, sal I finalment aqra xi ħaġa li għamilha tant ċara. Allura ssib, awtomatikament rikursivi. Inti ma għandekx bżonn li jgħaddu minn -R. Allura ssib dot. Aħna ma tkellmu dwar dot s'issa. Billi dot dot dejjem ifisser wieħed direttorju up. Dot dejjem tfisser il-direttorju kurrenti. So I jistgħu rm dot -R fil- istess mod I jistgħu rm -rf *. Fl-aħħarnett huma twettaq l-istess ħaġa. rm -rf dot se tneħħi l-direttorju kurrenti kollu. OK, li jien ma trid tagħmel hemmhekk. Imma ssib dot. Allura recursively tfittxija l-kurrent direttorju, u issa kollox wara dan huma mazz ta 'bnadar li inti jużaw biex jeskludu l-affarijiet mill-ritorn. Allura ssib dot prospetti dak kollu li jistgħu jsibu mill-direttorju kurrenti. Dawk huma l-fajls recursively tiftix. Ser naraw xi wħud minn dawk fit-tieni. Iżda fil-każ li int mintix kif I do li, hekk Kmand K, għall-inqas fl terminal tiegħi fil-Mac ikklerja dan. Kontroll L ġeneralment ikun ikklerja għal kwalunkwe tip ta 'terminal. Inti tista 'wkoll tip ċara. U jekk inti qatt tikseb fi scenario-- stramb huwa ġara lili koppja time-- fejn il-kuluri ta 'jippronunzjaha tiegħek huma kollha messed up, jew inti mhumiex kapaċi li tara xejn qed ttajpjati meta int ittajpjar, għaliex kultant bħal kulur fl-isfond huwa stabbilit l-istess bħall-kulur miksub u issa inti ma tistax tara l-fonts. Reset hija xi ħaġa li biss jreġġa inti l-isfond iswed default, quddiem abjad, jew kwalunkwe inti stabbiliti biex. Allura fejn kienu we? Sib dot. Allura issa kollox passat dan punt tirrestrinġi r-riżultati għal xi ħaġa li taqbel il-mudell mogħti. So here I trid tfittex kollox ma 'l-qattus isem. I ltqajna xejn. Għaliex huwa li l-każ? Well, jien biss tiftix għal xi ħaġa ma eżattament l-qattus isem. Jekk I trid tfittex xi ħaġa li għandha xi mudell, u cat-- il-kwotazzjonijiet teknikament mhumiex meħtieġa, imma jien jitfg lilhom fil hemmhekk. Allura issa isib catcat għaliex dak l-unika ħaġa li għandha xi arbitrarja mudell segwit minn qattus. I tista 'tpoġġi qtates *, u issa isibu catcat, cat_dog, KAT2, għaliex dawk huma affarijiet kollha ma 'qattus fil-bidu segwit minn xejn. Tista 'tikkombina dan. Jekk inti tixtieq li tfittex għall-fajls kollha Ċ li għandek, inti tista 'tagħmel * .c. Aħna blah.c hawn. Allura dak xogħlijiet ssib. Tista 'tfittex. Hija għandha mazz sħiħ ta 'bnadar għal aktar restrizzjonijiet. U wieħed fuqhom, ejja ngħidu -d. Hekk deprecated. Oh, li mhux dak li nixtieq. Mhux -D. Tip d. Allura ssib dot - tip d. Allura dak li biss ma huwa jien tiftix għall-fajls kollha fil-direttorju kurrenti ma a-- d stands għall tip direttorju directory--. Dan prospetti kollha direttorji fid-direttorju kurrenti. U t-tip F hija kollha regolari fajls, direttorji kollha mhux. Allura dak biss Eżempju ta 'modi oħra li inti jistgħu jillimitaw l-oħra search minn sempliċiment l-isem tal-fajl. Huwa kien 30 minuta. Għadu għaddej. ALLISON: I ser riħ permezz. Hija ser tkun multa. ROB Bowden: Allura xi affarijiet oħra. Issa bang, marka exclamation. Allura li ġeneralment means-- ukoll, ejja ara eżempju. Allura! F, x'inhu li se jagħmlu? Ukoll jidher li jkollhom ripetut isibu dot -Tip f. What about! G? Li ftit grep qattus -R *. Allura bang tista 'tuża biex jirrepeti kmand reċentement jsir. Mela jekk jien tip! Gre, li għaddej biex terġa 'run l-kmandi li beda mal-gre aktar reċentement. U tista 'tara dawn kollha jikkmanda bi storja. Hekk l-istorja. Dawn huma kollha l- kmandi Stajt run illum. U tajjeb, mhuwiex litteralment ristretta għall llum, imma stajt biss użat dan appliance bħala ta 'llum. Huwa intier tiegħek ta 'l- istorja ta 'qoxra bash tiegħek, ħlief qatgħat off f'xi punt. UDJENZA: X'jiġri jekk inti tagħmel istorja [inaudible] kmand u żball fir-riżultat xorta se print the-- ROB Bowden: Yeah, jekk ikun hemm żball f'waħda minn dawn commands-- hekk ejja ngħidu, li hija kmand żball ma sabet. Għadha tidher fl-istorja. Kull dritt. Mistoqsijiet oħra fuq xejn? Allura dak bang. Issa, kmand verament utli, il-bniedem. Allura li jagħtik l- manwal għall kmand partikolari. Mela ejja ngħidu ls bniedem, hekk dan qed juri me ls. Dan jelenka l-kontenuti tad-direttorju. U dan huwa fejn nara li hemm huma dawn il-bnadar varji li jeżistu. Allura naraw li Ls-l teżisti jekk konna biex taqra dan. Ls-l tagħti me din il-lista sħiħa tal- direttorju bl li tippossjedi l-fajl, id-daqs tal-fajl, il- l-timestamp modifikata. Allura ls -a ieħor huwa wieħed li inti tista ' attwalment jużaw kemmxejn spiss. -AL huwa flag-aktar komuni tiegħi dan ls-passat. Allura -a, avviż hemm ħafna fajls aktar milli sempliċiment ls. ls -a. X'hemm komuni ma dawn il-fajls kollha? Huma jibdew bit-tikka. Allura dan huwa konvenzjoni fl-Linux li fajls li jibdew bit-tikka huma moħbija. Allura dan ifisser biss li meta aħna biss ls dritta, jew aħna qed tiftix dan id-direttorju jużaw l-ekwivalenti finder, jew il-Windows Explorer ekwivalenti, li aħna ma tridx tara dawn il-fajls dot. Huma biss jniġġsu l-ħsieb ta 'affarijiet. Għalhekk huma moħbija sakemm inti speċifikament jitlob minnhom ma 'xi ħaġa bħal -a. So I tista cd fis .local, u nara li dan huwa fih innifsu direttorju ma direttorju maqsuma, u applikazzjonijiet, u blah blah blah. Allura dot, fajls dawn qed biss moħbija. OK, dawk importanti hekk oħra. I jkollhom koppja I tista 'skip. Ejja talk malajr biss reali dwar l-affarijiet fajl direzzjoni mill-ġdid. Hekk hemm sensiela kumpless kollu 'affarijiet li tista' tagħmel ma 'dawn, iżda biss biex tara minnhom, ejja ngħidu, eku. Ieħor kmand. Kmand verament dumb. Kull ma huwa print dak I għid li. Hekk eku bonjour. Hija biss mtenni bonjour lill-iskrin. Hello dinja. Bonjour eki dinja. Allura kmand wieħed jew waħda simbolu li bash jifhem dan huwa akbar minn simbolu, u li huwa l-output li simbolu fajl. Mela jekk jien output dan foo, hemm issa fajl imsejħa foo, ġewwa ta ' li huwa Hello dinja. Allura avviż li meta I eku bonjour pajp dinja fis foo, hija ma eku bonjour dinja. Minflok daħlet fis-fajl foo. U l-iggwidar ieħor biss tarmi fi inti, qattus. C'est mod faċli li biss kompletament lista tal-kontenut tal-fajl I hekk li ma jkollhomx biex tiftaħ editur test biex tarah. Għalhekk l-kontenut tal- fajl foo huma bonjour dinja. U I tista blah.c qattus, il-kontenut ma dan. Għal darb'oħra, dawn huma jikkmanda li, ma jagħmlux dan jistennew ikollok lilhom kollha memorizzati. L-idea hija li inti stajt tidher minnhom. Forsi inti qed jaħdmu fuq xi ħaġa, u int bħal jien morda ta 'ftuħ dan il-fajl. Nixtieq I jistgħu biss ħarsa fil-kontenut reali malajr. Inti tista 'tagħmel dan, allura inħarsu lura u jgħidu oh I ftakar xi ħaġa bħal li teżisti, u huwa qattus. Allura li se fajl. Issa ma jkunx hemm verament xi tajba Eżempju tal-qari minn fajl s'issa. X'hemm xi ħaġa li jieħu xi ħaġa minn standard fil-? Kwalunkwe kmand sempliċi Linux? Meta nikbru għaliha, fi ftit ġimgħat kollha l piece-- sew, din il-ġimgħa għandek biċċa fejn inti tibda tieħu input mill-utent. U hekk normalment inti tip li input fuq il-keyboard. Minflok ta 'tajping li input fil-keyboard, inti tista 'minflok pajp minn fajl hekk li meta inti tagħmel Mario, ./mario, pajp minn kwalunkwe fajl mogħti, u li għaddej biex imexxu l-programm mario. Ma jistennew input fuq il-keyboard, minflok huwa biss jmorru biex taqra l- linji mill-fajl foo. Allura akbar minn foo tqiegħdu fis il-fajl foo, u inqas minn foo jieħu Jittieħed mill-fajl foo u użi li bħala input għal dan il-programm. U biss biex tara dan, nistgħu wkoll eku foo baz bar, u mbagħad minflok waħda akbar minn, ejja do tnejn fis foo. Dak li ma tagħmel? Hija biss tannetti mal-fajl. Allura minflok avviż jekk I do eku blah fis foo u mbagħad qattus foo, huwa biss blah. Allura meta inti output għall-fajl, huwa kompletament overwrites-fajl. Jekk inti biss tixtieq li tehmeż, double [? grader. ?] U l-aħħar huwa pajp. Pajp Gets ħafna aktar ikkumplikat, fejn dan jieħu l-output ta 'kmand wieħed u għalf hija fil-kmand li jmiss. Allura xi ħaġa komuni, l-istorja. Allura, ugh, I ma jridux li tħares lejn dan. Urini l-ordnijiet kollha fl-istorja tiegħi fejn I grep-ed għal xi ħaġa. Le, li konfuża. Urini l-ordnijiet kollha fejn nsib. All issib jikkmanda I qatt dam. Hekk l-istorja. Issa outputs istorja għall- iskrin din il-lista ta 'kmandi, imma jien ma jridux output lill-iskrin. Minflok jien ser pajp fis grep. Mela ejja grep għall-każijiet kollha ta 'ssib. Allura issa minflok ta 'teħid grep l-input, minflok of-- grep huwa kapaċi li jimmaniġġjaw kif input-- aħna qed użu grep kemmxejn differenti hawn. Allura minflok ta 'tajping-lista ta' affarijiet aħna riedu tfittxija għal u qal grep qed tieħu bħala input. Mela jekk jien biss grep jsibu, hija tistenna għalija li affarijiet tip. Allura qattus bonjour ssib. Hello. Ssib. Avviż kull darba I tip isibu jirrikonoxxi li I ittajpjat isibu. Allura minflok dan, se fajls tat-tiftix għall ssib. Allura l-istorja issa se output lista ta 'l-ordnijiet kollha. Aħna qed tqegħid li output, u aħna qed tredda li grep, u għalhekk huwa tobżoq out każijiet kollha ta 'ssib. Ir-raġuni I qal li d jkun konfuża hija jekk I-- huwa għadu konfuża. Jekk I grep għall grep. Avviż huwa pjuttost ħafna dejjem li turi l-kmand I biss dam minħabba dak il-kmand nnifisha għandha grep ġewwa ta 'dan. OK, sabiex kwalunkwe mistoqsijiet dwar xi ħaġa? U jien ser jittrasferixxi dan matul f'dan il-punt. Nisperaw li dan huwa sabiħ ħarsa ġenerali ta 'l-ordnijiet kollha li inti m'għandekx bżonn li jkollhom memorizzati, iżda dawn tpatti solidu 95% ta 'dak I jagħmlu fil-linja tal-kmand. Wkoll iżomm f'moħħu li l-linja tal-kmand innifsu, bash hija lingwa ta 'programmar, u hekk meta ikollok jistabbilixxi lilu, inti tista 'tixtieq li tagħmel affarijiet verament kumplessi. U għalhekk għandha affarijiet simili loops, u IfS, u dawk kollha li int ser jidraw mal-lingwi ta 'programmar tiegħek. Iżda li hija lil hinn mill- ambitu ta 'din it-taqsima. OK, sabiex l-ebda mistoqsijiet? ALLISON: Xejn? GABRIEL: Huma inti tmur to-- ALLISON: I tista 'tagħmel dan fuq mini jekk inti tixtieq. Nistgħu naraw x'jiġri. ROB Bowden: Off għall Allison. ALLISON: Woo. Int att iebsa biex isegwu, Rob. Tridu lili biex jaqilbu miegħek? Jew inti ltqajna, OK. Jien ser jippruvaw u mhux pjuttost tkun kif twal hemm. Ejja naraw jekk dan se taħdem il-mod I tixtieq li. Forsi? Haha! Iva. Hekk jien biss se jmorru malajr ħafna permezz varjabbli, loops, conditionals, u ftit fuq il-kompilatur. Jekk għandek xi mistoqsijiet fil- kwalunkwe ħin, jekk jogħġbok stop me. Dawn guys se ifakkru lili li jirrepetu mistoqsija tiegħek fil-każ ninsa, iżda m'għandhiex tkun wisq bad. Allura varjabbli, yeah. Għandna l-ebda wieħed mill tiegħek Biċċiet scratch hawn. Jien ċert ħafna minnkom, jekk kellek xi tip ta 'logħba li inti maħluqa bl Scratch, kellek li jżommu rekord ta 'xi ħaġa bħal punteġġ, jew il-ħin, jew xi ħaġa bħal dik. Sabiex dawk oranġjo jgħajjat biċċiet li naraw hemm huma biss il-forma Scratch ta varjabbli, u int se definittivament tkun qed tuża varjabbli matul programmi tiegħek. Jekk int ma, jien ma verament żgur dak li qed isir. Iżda xorta waħda, ħaġa big, tiddefinixxi varjabbli. Bil C kull varjabbli għandha li jkollhom tip dikjarat, so I taw inti ħafna wieħed ġenerali fil-quċċata. Allura inti ser ikollok tiegħek tip u mbagħad ikun x'ikun inti tiddeċiedi li sejħa varjabbli tiegħek. Allura f'dan il-każ, it-tip fil-lista varjabbli tiegħek. Għandna tliet eżempji. Char ta 'xi grad, ta 'A, li huwa dak li Jien ċert li inti kollha jridu biex tikseb f'din il-klassi. Inti tista 'tiddefinixxi multipli varjabbli fuq linja waħda sakemm dawn qed kollha l-istess tip, li hija t-tieni eżempju tagħna hemmhekk fejn inti għandek tliet varjabbli, x, y, uz. Huma qed sufruni kollha. U allura inti tista 'wkoll, f'dan l-aħħar eżempju bi skor int u n-numru ta 'timijiet, inti tista initialize lilhom id-dritt hemmhekk. Hekk fl-eżempju tan-nofs fejn aħna biss għandhom float ta x, y, uz, dawk mhumiex initialized s'issa. Huma jkollhom l-ebda valur. Jew dawn għandhom valuri taż-żibel. U jekk inti tipprova u jużawhom, l-kumpilatur se Yell fi inti. Int għandek kemm jiddikjaraw u initialize varjabbli tiegħek. Allura f'dan l-aħħar wieħed, li aħna qed tagħmel it-tnejn. Aħna tiddikjara varjabbli ta 'punteġġ u n-numru ta' timijiet, u aħna qed initializing lilhom, jagħtu minnhom valuri inizjali tagħhom ta '7 u 4 rispettivament. Kessaħ. Kulħadd tajba? Biża. OK, għalhekk xi konvenzjonijiet. Jekk inti guys taqra permezz stil 50, dawn huma biss affarijiet li aħna tixtieq għall inti biex jimplimentaw fl-istil tiegħek. Ismijiet hekk sinifikanti. Jekk inti tibda sejħa affarijiet biss x, y, uz, speċjalment kif inti tikseb fis itwal programmi, int probabbilment se jikkonfondi lilek innifsek u tkun bħal dak li huwa dan varjabbli jirreferu għall. Għandi l-ebda idea liema dan ifisser. Mela jekk huwa maħsub li jżommu punteġġ, sejħa hija score. Jekk huwa maħsub li jżommu xi tweġiba jew jirriżultaw, tagħtiha isem bħal dik. Għal loops, li aħna se tikseb fis fil-slide li jmiss, varjabbli ittra waħda huma multa. ROB Bowden: I, j, k u huma biss konvenzjonijiet għall għall-linji li kulħadd jistenna minnhom li għandu jissejjaħ i, j, k. Tista 'sejħa them-- nara ringiela kolonna jew ringiela sejħa kultant għal żewġ crieki nested, u li wkoll tip ta 'standard. Imma i u j huwa kompletament mifhum. ALLISON: Yeah, I u j int totalment multa. Għal raġunijiet ta 'ċarezza simili f'xi settijiet P tiegħek, jista 'jagħmel sens li jkollhom aktar affarijiet deskrittiv hemm biss li jżommu rekord ta 'dan. Imma naħseb i, j, k u naħseb il-maġġoranza l-kbira minna kull użu. ROB Bowden: B'dawn konvenzjonijiet, hekk istil huwa importanti. Huwa wieħed mill-erba 'assi fuq liema int gradati, u huwa daqshekk faċli li jmorru biss fuq P tiegħek stabbiliti fl-aħħar u kun żgur li ma jkunx hemm żbalji stilistiċi. Sabiex tagħmel żgur li int qed tabbing korrett. Kun żgur varjabbli tiegħek huma msemmija. Tħalli xi kummenti. Huwa faċli ħafna li tikseb dawn il-punti. Inti ma għandekx biex jaħsbu dwar xejn sabiex tikseb dawk il-punti. Inti ma għandekx biex insemmu xejn barra. Huwa biss jagħmilha ħarsa pretty. ALLISON: Fil-fatt, aħna jkollhom stil 50, li se jgħidlek fejn int messing up jekk int messing up fuq stil u se jgħidlek eżattament dak li għandek ħtieġa li jiffissaw u kif għandek bżonn biex tiffissa lilha. Huwa wkoll biss tajba insemmi li huwa politika kors li jekk int fl-uffiċċju sigħat u kodiċi tiegħek huwa mess, nistgħu tonqos biex jgħinu inti sakemm jidher nicer. Allura tibda fl-dritt, iżommu stil konsistenti, int wkoll biss ser tagħmel ħajja tiegħek lott kollu aktar faċli meta inti qed tipprova li jmorru permezz debug. Jekk inti qed tipprova figura fejn int nieqes Brace kaboċċi u dawn huma kollha fuq il-post, int biss tagħmel il-ħajja tiegħek aktar diffiċli. Allura jkun konsistenti ma 'stil. I wegħda li ser jagħmlu l-ħajja tiegħek aktar faċli. Hija ser jagħmlu ħajjitna aktar faċli. Kulħadd se tkun ferm kuntenti. U dan huwa dak li trid. GABRIEL: grad tiegħek se tkun ogħla. ALLISON: Iva, u l-grad tiegħek. Jekk TF tiegħek simili inti, tendenza li jkun favorevoli. Kull dritt, u mbagħad biss it-tieni punt hawnhekk. Initializations konsistenti. Allura kif rajna, inti tista 'tiddikjara u initialize affarijiet. Varjabbli multipli fuq l-istess linja. Ħaġa waħda nixtiequ li inti ma tagħmel huwa li tiddikjara xi varjabbli u mhux initialize minnhom fuq l-istess line li inti qed initializing oħrajn. Allura fil-każ li għamlu ebda sens tkun xi tkun, aħna għandna l-eżempju hawn fejn aħna qed tiddikjara ints fl varjabbli ta kwarti dimes u pennies, iżda kwarti u pennies jkollhom l-ebda valur inizjali. Aħna ma initialized minnhom, iżda lemin fin-nofs hemm aħna diġà initialized dimes għal 0. Allura kemm do kwarti, dimes, pennies. Jew do kwarti ugwali 0. Dimes ugwali 0. Pennies ugwali 0, jew kwalunkwe dawk il-valuri inizjali huma. Ħaġa kbira ma 'stil, ikunu konsistenti. Meta fid-dubju, ikunu konsistenti. Iżda jsegwu Gwida tal-Istil tagħna wisq. Kessaħ. Kulħadd tajba hemmhekk? UDJENZA: Fejn hi l-gwida tal-istil? ALLISON: Il-Gwida tal-Istil huwa on-- x'inhu l-websajt? GABRIEL: Naħseb li huwa manual.cs50.net/-- ALLISON: Style? GABRIEL: Style. Yep. ALLISON: Iva. Allura mistoqsija, fejn huwa l-istil 50. manual.cs50.net/style. Iva? UDJENZA: Jekk aħna qed tiddefinixxi varjabbli, huwa OK jekk npoġġux simili [inaudible] bħal punteġġ int u mbagħad int mira. Allura kieku inti tgħid li issa konna ltqajna biex jiddefinixxu flimkien? ALLISON: Allura kwistjoni, iridu għandek kodiċi żejda meta inti qed jiddefinixxu varjabbli bħal punteġġ int u fuq il-logħba int linja li jmiss? ROB Bowden: Hemm definittivament F'każijiet fejn kodiċi żejda huwa ħażin. I ma kienx se jikkunsidra dan il-kodiċi żejda. I kważi qatt niddikjara multiplu varjabbli fuq l-istess linja qatt. U jekk xejn, huwa għaliex normalment I leave xi tip ta 'kumment tispjega dak il-varjabbli huwa għall. So I ser jgħidu punteġġ int slash slash. Iżomm rekord ta 'kwalunkwe. Fil slash total slash. Allura huwa ferm Großer b'dak il-mod li jpoġġuhom kollha fuq l-istess linja. I biss qatt ma jqiegħdhom fuq l-istess linja. ALLISON: Inħoss bhalu s preferenza personali f'dan il-punt. UDJENZA: Does li tmur għall għal linji u l-għalf wisq? ROB Bowden: Bħal ġewwa? Bħal int i ikun egwali għal 0 virgola tul ugwali xi ħaġa? Li inti ma jkollhomx għażla. Bl għall loops l-inizjalizzazzjoni part-- sabiex inti tista raw biss int i ikun egwali għal 0 virgola i inqas minn kwalunkwe virgola i plus plus. Li i int ikun egwali għal 0, teknikament inti tista 'ukoll jagħmlu dak rajna qabel mal-sintassi virgola. int i ikun egwali għal 0 virgola j ugwali 3 comma k ugwali 5. Inti ma jkollhom għażla li jaqsam li f'lenza multipli, u li l-istandard. Iqisuh hemm multa. ALLISON: biża. Ukoll, segue konvenjenti fis loops. So yeah, hawn aħna għandna xi eżempji ta 'linji li inti guys raw fil Scratch. U ovvjament dawn kollha jista 'jkun biss recreated fil C. U huma bażikament jippermetti li inti jirrepetu xi taqsima tal-kodiċi sakemm ċerta kondizzjoni hija sodisfatta, li aħna ser jsibu rwieħhom dritt wara li tkellem dwar loops ma conditionals. Allura aħna għandna tliet tipi ewlenin. Għal, filwaqt li, u tagħmel waqt, li aħna kollha se jmorru permezz dritt issa. Allura l-ewwel wieħed huwa għal loops. Allura għal xi kondizzjoni, tesegwixxi dan il-blokk ta 'kodiċi. Għandna din ftit jibred dijagramma hawn fil-qiegħ. Imma bażikament għandek fil għall tiegħek, li l-ewwel linja, int ser initialize varjabbli tiegħek. Allura kif aħna tkellem dwar, i huwa ugwali għal 0 jew i huwa ugwali għal 10. Kwalunkwe għandek bżonn li varjabbli li jkun wasal ser jiġu initialized hemmhekk, dikjarata u initialized li xi valur. Hekk allura għandna xi kundizzjoni li għaddej li jiġi verifikat tagħna varjabbli kontra xi ħaġa. Hekk fil-każ li l-każ tipiku fejn forsi inti tixtieq din is-sezzjoni tal-kodiċi biex tesegwixxi ħames darbiet. Allura aħna d jkollhom int i ikun egwali għal 0, u aħna jixtiequ li din tkun meta i huwa inqas minn 5. Allura din il-kundizzjoni hija biss ser jivverifikaw li kull darba. Jekk din il-kundizzjoni tevalwa l veru, huwa ser imexxu l-kodiċi, li huwa eżattament dak li dan dijagramma ftit qed juri. U għalhekk tesegwixxi dan. Huwa jaġġorna varjabbli, li huwa dak li naraw fl-aħħar parti ta 'għall tagħna inizjalizzazzjoni loop hemmhekk. Għalhekk ser biss iżommu tagħmel dan sakemm din il-kundizzjoni ma tiġix sodisfatta, u mbagħad se ħruġ il-linja u tkompli miexja fuq mal-bqija tal-programm tiegħek. Kulħadd tajba hemmhekk? Kessaħ. Allura hawnhekk eżempju, simili ħafna għal xi ħaġa I biss tkellem dwar. Allura aħna biss tixtieq li jistampaw dan huwa CS50 10 darbiet. Allura inti tara hawnhekk għandna għall tagħna, u allura aħna initialize l-varjabbli i li jkun ugwali għal 0. Kondizzjoni tagħna qed jiċċekkja li huwa inqas minn 10. Allura tevalwa l veru meta aħna ewwel tibda, u mbagħad aġġornamenti varjabbli tagħna kull darba li hija effettivament tesegwixxi u prints out dan huwa CS50. U jispiċċa wara 10 darbiet. Kessaħ. Allura filwaqt loops huma up li jmiss. U kif tara hawn, aħna biss għandhom xi filwaqt li din il-kwistjoni condition--? UDJENZA: Kif nista 'tiżdied attwalment biss ma numru wieħed, iżda żewġ numri [inaudible] i plus plus plus? ALLISON: Għalhekk il-kwistjoni kienet kif tista 'inti taġġorna varjabbli tiegħek minn aktar minn wieħed fi żmien. Hekk i plus plus se aġġornament minn wieħed kull darba. Jekk int riedu li taġġorna lilha mill tnejn, inti tista 'tagħmel i plus ugwali 2. ROB Bowden: Have you raw plus ugwali fil lecture għadhom? UDJENZA: [inaudible]. ALLISON: Huwa b'mod effettiv l- istess ħaġa kif i ugwali i plus 2. Allura li għaddej biex teħodha u jaġġornah minn żewġ kull darba. Plus jegwalja huwa biss xi ħaġa nitolbu zokkor sintattika. ROB Bowden: Yeah, dawk jeżistu għal pretty ħafna operaturi aritmetika kollha. Żminijiet hekk i ugwali għal jista 'jirdoppja l-għadd. qasma j ugwali 3 hija l-istess kif j ugwali j diviż bil 3. ALLISON: Or nieqes ugwali 2 tkun decrement i minn tnejn kull darba. ROB Bowden: Anke ugwali mod. Inti ma bbenefikawx l-operaturi bitwise, iżda caret ugwali u ampersand ugwali, dawk kollha jeżistu. ALLISON: Allura ħafna drabi, speċjalment bl-ewwel koppja ta 'settijiet P tiegħek, inti ser tkun probabbilment inkrementazzjoni mill waħda, hekk i plus plus, j plus plus huma kollha affarijiet int ser li tipikament tkun qed tuża. Iżda din il-kundizzjoni aġġornament huwa kompletament fil-kontroll tiegħek. Inti tista 'taġġorna dan b'liema b'żidiet jew fi kwalunkwe mod inti tiddeċiedi li. Forsi inti anki tixtieq li jkun numru bl-addoċċ kultant. Imma iva, hemm lottijiet ta ' affarijiet li tista 'tagħmel ma' dak. Int mhux ristrett għall i plus plus. ROB Bowden: Just sabiex inti jafu dan jeżisti, ukoll teżisti f'forma oħra, plus plus i. Mela jekk int qatt tiftix online u jiġri biex tara plus plus i, pretty ħafna tfisser l-istess ħaġa. ALLISON: Kessaħ. Tajba? Biża. Għalhekk, filwaqt loops. Simili ħafna. Inti għandek xi kundizzjoni. Il-ħaġa prinċipali li l-avviż hawnhekk hija minflok li tliet partijiet differenti li twaqqaf, aħna għandna waħda. Aħna biss ikollhom xi kondizzjoni li l-jiġu ċċekkjati. U bl-istess mod, sakemm din il-kundizzjoni tevalwa lil veru, kodiċi tiegħek se jiddekorri. U jekk huwa falz, dan se jtemm, jimxu fuq il-parti li jmiss tal-programm tiegħek. Allura dan huwa tip ta 'like-- x'hemm eżempju tajjeb ta 'verifika għal xi kondizzjoni normali? GABRIEL: Filwaqt veru. ALLISON: Inti tista 'tagħmel waqt veru. Ukoll, 1 huwa ugwali għal 1. ROB Bowden: Tista 'tagħmel while-- biss minflok jużaw għall-loop, inti tista 'dejjem Kodiċi, għal loop fil-linja waqt, hekk i akbar minn 0 jew Filwaqt I inqas minn 10. ALLISON: biża. U allura aħna għandna nagħmlu filwaqt loops, li hija kbira għall-validazzjoni utent, fejn inti tixtieq li tikseb xi ħaġa minn utent tiegħek, tara jekk huwa validu, u mbagħad tkompli minn hemm. Allura wieħed mill-affarijiet li jkunu jafu huwa ma ' tagħmel waqt hija li huwa għaddej biex tesegwixxi, u mbagħad se jerġa 'tesegwixxi jekk din il-kundizzjoni hija sodisfatta. Allura probabbilment l-aħjar mod biex isir dan huwa biss biex tara eżempju hawn. So I kif biss imsemmija, utent validazzjoni huwa verament useful-- jew jagħmlu whiles huma verament utli ma validazzjoni utent. Allura dan huwa biss se xi utent biex jerġgħu pront sakemm dawn jidħlu numru pożittiv, li jista 'jkun utli għall tiegħek sett P din il-ġimgħa. U għalhekk f'dan il-każ, meta aħna inizjalment run dan il-programm, li għaddej biex jistampaw jidħol numru pożittiv. Li għaddej biex tikseb xi input mill-utent, u mbagħad li għaddej biex jiċċekkjaw li input kontra l-kundizzjoni li inti stajt stabbiliti għal dan. Allura f'dan il-każ li għaddej biex jiċċekkjaw. Li għaddej biex jgħidu, OK, huwa input tagħna negattiva, jew hija 0 jew negattiv, li jkun invalidu. Mela allura jerġa 'pront. Mistoqsija? UDJENZA: Huwa dan l-istess imbagħad bħala filwaqt loop jekk inti biss kkupjati dan il-kodiċi u poġġih [inaudible] filwaqt loop? ALLISON: Allura mistoqsija kienet kieku dan ikun l-istess bħal ftit ħin loop jekk konna biss kopja tal-loop filwaqt hawn fuq. Allura f'dan il-każ, loop filwaqt tiegħek huwa ser jiċċekkja l-kondizzjoni ewwel. Allura f'dan il-każ, jekk aħna ppruvaw jiktbu biss bħala loop waqt, huwa ngħid filwaqt input huwa inqas minn wieħed. Iżda aħna ma jkollhomx input għal dan. UDJENZA: Jekk inti [inaudible] filwaqt loop inkluż dan il-kodiċi, iżda imbagħad inti coped-kodiċi fuq il-loop filwaqt wkoll. Inti biss kellhom dan il-kodiċi [Inaudible] filwaqt loop. ALLISON: Ikun l-istess ħaġa, iva. Allura inti tista 'biss write-- minflok li iva do--. GABRIEL: Iżda li l-aktar eleganti. ALLISON: Yeah, li l-aktar eleganti. Inti tista 'tikseb fis disinn u whatnot, imma iva, inti tista totalment tagħmel dan. Kwalunkwe mistoqsijiet oħra? OK, berred. Allura aħna ħadthom tkellmu ħafna dwar kondizzjonijiet ma 'dawn loops kollha li għandna, hekk aħna qed attwalment jkollna fis kundizzjonijiet fis espressjonijiet Boolean. Għal darb'oħra, inti tuża dawn fil C, hekk biss tip ta 'transizzjoni minn interface aktar grafiku li attwalment kodifikazzjoni. Kessaħ, daqshekk kbira wieħed, jekk. Bażikament biss jippermetti li jintroduċu xi loġika fil-programm tagħna u l-kontroll kondizzjonijiet Sys. Allura f'dan il-każ, OK, huwa n akbar minn 0? Iva huwa, sabiex inti tista 'tesegwixxi dan. Huwa biss verifika ftit kundizzjoni li inti stajt sett, li naħseb li aħna qed kollha komdu mal-kondizzjonijiet iċċekkjar. Kessaħ. Hekk jekk inkella hija waħda oħra tiegħek, inti tista 'tgħid OK, jekk dan huwa minnu, tagħmel dan ewwel ħaġa. Inkella Nixtieq li default u tagħmel xi ħaġa oħra. Bħal f'dan il-każ, inti jew pick numru pożittiv jew numru negattiv. Inti biss għandek żewġ għażliet. Għandek bżonn biex tesegwixxi irrispettivament ta 'dak li inputs utent tiegħek. Allura inti tista 'tgħid ukoll, huwa akbar minn 0? Kessaħ. Stampa numru pożittiv. Jekk mhuwiex, stampar ta 'negattiv. Kulħadd tajba? U mbagħad ħaġa waħda li jirrikonoxxu hija li jekk il-jekk il-kundizzjoni hija sodisfatta, l-inkella qatt se tesegwixxi wkoll. Waħda minn dawn biss se tesegwixxi fi żmien. Allura huwa kummerċ off. Inti ma jsibux li jkollhom kemm. Miegħek jew ikollhom l-ewwel kundizzjoni. Miegħek jew ikollhom il-jekk jew il-inkella, mhux it-tnejn. Li mbagħad tista 'tagħmel l-affarijiet aktar kumplikata, għaliex inti tista 'tagħmel jekk, inkella, u mbagħad ieħor. Allura f'dan il-każ, aħna għandhom tliet kundizzjonijiet. U għal darb'oħra, biss wieħed minn dawn huwa ser jispiċċaw jiġu esegwiti. Allura inti jista 'jistaqsi ukoll, dak li jekk inti ikollhom xi ħaġa li jistgħu jilħqu tnejn minn dawn. Forsi kwalunkwe int inputjar jissodisfa kemm il-kundizzjoni għall jekk u l-inkella jekk. Biss ħaġa li għaddej biex imexxu ALLISON: Hekk kif issib xi ħaġa li huwa jissodisfa l-kundizzjoni għal dik tevalwa lil veru, dan huwa dak li għaddej biex imexxu u xejn iżjed. Hekk jekk kellek huwa dan in-numru bejn 0 u 5 għall-ewwel waħda tiegħek, jew dan in-numru bejn 3 u 5 għas-inkella jekk parti, u inti input l-number-- I said 0 u 5 and-- 4. Li għaddej biex laqat l-ewwel waħda. Li għaddej biex ngħid OK, dan in-numru huwa bejn 0 u 5. Jesegwixxu u leave. Huwa qatt mhu ser hit li tieni għażla. Kessaħ? Biża. OK irridu wkoll dikjarazzjonijiet swiċċ jekk inti tixtieq li jikseb saħansitra more-- jew sorry, switch huwa li jmiss. Jien jkollna qabel myself hawn. Għal darb'oħra, multipli jekk blokki fejn kif I biss qal hija hekk kif inti ssib kundizzjoni thats sodisfatti u jekk inkella jekk inkella, tħalli. Jekk għandek bżonn biex jivverifikaw affarijiet multipli, int tmur jridu jużaw dan għaliex għandu jivverifika kull darba hawnhekk. Allura dan se jimxu permezz u jekk huwa ikbar minn jew ugwali għal 90, li għaddej biex jistampaw dak. U se jimxu permezz ta 'u iċċekkja kull wieħed minn dawn. UDJENZA: Allura dan ikun Buggy aktar minn [inaudible]. Kieku dan ikun simili [inaudible]? ALLISON: Il-kwistjoni hija kieku dan ikun Buggy jew ma dan tagħmel dak li trid. Hija verament jiddependi fuq liema trid mill-programm tiegħek. UDJENZA: I tfisser simili jekk inti tpoġġi 90 fil. ALLISON: Jekk inti tpoġġi 90-- UDJENZA: [inaudible]. GABRIEL: Inti qed tmur biex tikseb żewġ affarijiet. ALLISON: Inti qed tmur biex tikseb żewġ affarijiet. Iva, tnejn. ROB Bowden: Żewġ? ALLISON: No ROB Bowden: Erba. Jekk inti tpoġġi 90, li għaddej biex ngħid lilek ltqajna A, inti ltqajna B, inti ltqajna C, inti ltqajna D. UDJENZA: [inaudible]. ALLISON: Dritt. So I jiddependi fuq dak li inti jridu mill inti program. Kultant ikollok bżonn li jiċċekkjaw affarijiet multipli. Int ser tingħata ħafna aktar profond fil dak disinn tajba hija kif tmur quddiem. Il-ħaġa importanti li jirrealizzaw hija li dan ser jiċċekkja l-erba 'kundizzjonijiet hawn. Billi jekk dan kienu jekk inkella jekk inkella jekk inkella, ikun hit li l-ewwel każ, ikun jistampaw inti ltqajna A u jsir. ROB Bowden: Anke jekk aħna iddeċieda li jibdel dan jekk u ikbar minn jew ugwali għal 90, jekk u ikbar minn jew ugwali għal 80, u anqas minn jew ugwali għal 89, jekk n ikbar minn jew ugwali għal 70, u n inqas minn jew ugwali għal 79, b'tali mod li se tkun korretta. Li se tagħmel dak li rridu, imma xorta tiċċekkja singola. Allura filwaqt li fl-ewwel xenarju, jekk aħna jidħol 90 biss jekk inkella jekk inkella jekk, u aħna jidħol 90, imbagħad li għaddej biex jikkoreġu. Hi se tiċċekkja l-ewwel waħda, print inti ltqajna A, skip kollox, minħabba li diġa 'sabu wieħed li jaħdem. Il-każijiet kollha huma reċiprokament esklussivi ibbażata fuq jekk inkella jekk inkella jekk. Allura dan ser tesegwixxi l- ewwel jekk, allura dan isir. Hija ser imorru għall-aħħar. Billi jekk nagħmlu l-bidla dan ikun dak I kien qal b'inqas minn jew ugwali għal 89. Li għaddej biex jiċċekkja l-ewwel waħda. Hija ser print. Hija ser jiċċekkja t-tieni waħda. Mhuwiex morna għall-istampa. Iċċekkja t-tielet wieħed. Mhux morna għall-istampa. Iċċekkja l-raba 'wieħed. Issa morna għall-istampa. Allura f'dak il-każ, l-inkella jekk verżjoni, peress li dawn il-każijiet huma esklussivi reċiprokament, huwa użu aħjar jekk inkella jekk inkella jekk, minħabba li huwa se jkollu anqas kontroll tal-kundizzjonijiet minn din il-verżjoni. ALLISON: biża. Allura ħaġa oħra li nistgħu tagħmel huwa dikjarazzjonijiet swiċċ. Bażikament dikjarazzjoni swiċċ jieħu f'xi varjabbli, f'dan il-każ huwa n, u jiddetermina f'liema każ biex tesegwixxi. Allura dan huwa wkoll wieħed fejn każijiet tiegħek għandu jkun it-tip ta 'reċiprokament esklussivi. Allura f'dan il-każ, jekk aħna irridu jiksbu wieħed, huwa ser jaqblu kwalunkwe li variable-- x'ikun il-valur ta 'n huwa li wieħed minn dawn il-każijiet, hekk 1, 2, jew 3, u jistampa l-linja korrispondenti. U mbagħad jekk tinnota hawnhekk, aħna għandna wkoll default, li inti tista 'taħseb ta' kif inkella tiegħek. Mela jekk inti pick kwalunkwe numru ieħor minbarra 1, 2, u 3 f'dan il-każ huwa biss se jistampaw invalidi. Jiddeċiedu meta jużaw IFs versus jekk elses versus swiċċijiet va tkun xi ħaġa li inti guys se ara disinn għaqli kif inti tibda bil-miktub programmi aktar ikkumplikati, u M'hemm l-ebda regoli iebsin u veloċi ta 'meta jużawhom. Hija verament jiddependi fuq il-kuntest tiegħek. ROB Bowden: U biss li tarmi it out hemmhekk peress li huwa sezzjoni aktar komda. Swiċċijiet, dawn għandhom tendenza li be-- hekk int limitat fin-numru ta 'modi kif inti tista 'tużahom, għaliex IFs, il-kundizzjoni tista 'tkun pretty ħafna xi ħaġa li trid. Bl swiċċijiet-każijiet għandhom ikunu n-numri, jew teknikament jistgħu jkunu Chars, iżda Chars, kif Ser naraw, huma numri biss. Hekk dawn għandhom ikunu n-numri, iżda swiċċijiet huma verament aktar effiċjenti milli kieku inkella jekk inkella jekk, minħabba li, anki tieħu l-eżempju before-- tajjeb, l-eżempju grad jidher tajjeb. Well ejja ngħidu hawnhekk, aħna minflok nagħmlu dan bħala jekk inkella jekk inkella jekk ix-xenarju. Mela jekk n ugwali ugwali 1, jistampaw inti qabad numru baxx. Jekk inkella jekk n ugwali ugwali 2, inti qabad numru medju. Else jekk ugwali ugwali 3, għolja. Else invalidu. Mela ejja ngħidu li kien ix-xenarju tagħna. Mela ejja ngħidu aħna jidħol 4, hekk aħna nistennew invalida. Il-mod li jekk inkella jekk inkella jekk l-approċċ huwa sejjer jaħdem huwa kontrolli l-ewwel kundizzjoni. Mhuwiex sodisfatt. Allura aħna jiċċekkjaw it-tieni kundizzjoni. Mhuwiex sodisfatt. Iċċekkja l-tielet kundizzjoni. Mhux sodisfatt. Allura immorru l-ieħor u jistampaw invalidu. Il-mod ix-xogħlijiet swiċċ huwa jikkompila isfel fis-dak li aħna qed tmur li jsejjaħ tabella qabża. L-benesseri idea prinċipali li meta inti tidħol 4, din tista minnufih imorru l-inadempjenza. Dan ma jeħtieġx li jiċċekkja am I każ 1? Nope li mhux dan. Każ 2? Nope. Kawża 3? Nope. Default. OK, dan għandu jkun fejn I trid, u mbagħad tesegwixxi dik. Le, immedjatament jumps għall-inadempjenza. Jew I tidħol 2, huwa immedjatament se jmorru għall-2 mingħajr il-bżonn li jmorru permezz-każ 1. Allura f'dan il-mod, realistikament illum li l- mhux li ħafna ta 'kisba fl-effiċjenza. Normalment kompjuters huma pretty fast, u li mhux li kbir. Iżda huwa l-każ li swiċċijiet huma aktar malajr. Jekk int verament tipprova biex jottimizzaw, uża swiċċ. ALLISON: Kessaħ. U allura għandna operatur ternarji. So I know I imsemmi qabel il-kelma zokkor sintattika. Allura huwa biss affarijiet li jagħmlu kodiċi tiegħek ħafna aktar konċiż. Allura dan huwa wieħed minn dawk il-każijiet. Allura operatur ternarji hija kwistjoni mark kolon kif naraw fil-sekwenza linja i huwa ugwali n akbar minn 100 kwistjoni mark baxx kolon għolja. Allura bażikament kif taħdem din hija li huwa ln akbar minn 100 hija kundizzjoni. Hekk naħseb li tista 'tagħmel sens. Huwa simili tistaqsi mistoqsija. Huwa qal oh, huwa n akbar minn 100. Min jaf? U jekk tevalwa li veru, li għaddej biex jagħtuk l-ewwel ħaġa li l- elenkati hemmhekk, li huwa għoli. Inkella li għaddej biex jagħtuk baxx. Allura dan huwa biss verament sempliċi u mod effiċjenti biex tagħmel bħal jekk inkella. C'est dan kollu huwa. U jekk konna biex tikteb din bħala jekk inkella kondizzjonali, ikun jekk n hija akbar minn 100, ritorn għolja. Else, ritorn baxx. Dan huwa biss ħafna aktar konċiż tal-kitba dan. ROB Bowden: Allura dan l-eżempju partikolari huwa kull meta inti qed tagħmel xi ħaġa bħal dan, dan huwa l-mudell fejn I użu ternarji spiss ħafna. Allura aħna ma tkellem dwar kamp għadhom, imma ddejjaqni jaraw string s virgola. Jekk n akbar minn 100, s ugwali għolja. Else, i ugwali baxx. Allura li mudell, dawk il-ħames linji tal-kodiċi litteralment 100% tal-ħin jistgħu jiġu trasferiti fil dak kien up hemm ma 'ternarji. Allura l-tlett fibri, linja waħda tal-kodiċi. Il jekk inkella, ħamsa. C'est eżempju I punt barra kull wieħed ħin. Dan il-post kbir kieku għal operatur ternarji. Huwa hekk nadif. Iżda n-nies għandhom tendenza li qatt tużah. ALLISON: Ħu bogħod Gabe. GABRIEL: Allura issa inti guys kollha tgħallmu fil lecture din il-ġimgħa li kollox fil- kompjuter huwa binarju, id-dritt? Eżatt bħal-lampi hawn. Inti jista 'jkun jew jinxtegħlu u jintfew. U mill kollox, I tfisser litteralment kollox. Xi numri, u Chars, u kordi, u anki l-kodiċi li tikteb meta jiġrilha ikkumpilata għall-magna kodiċi u għalf bħal dik, hekk hija kollha jeħodna għal 0 u 1 ". U hekk meta aħna qed jittrattaw ma interi, li hija xi ħaġa li teknikament ħafna sempliċi, għandna nkunu kapaċi li jagħmlu Jittieħed bħal żiedhom, li hija probabilment waħda mill-affarijiet sempliċi inti tista 'tagħmel għal żewġ interi, id-dritt? Allura żieda u tnaqqis xogħlijiet biss bħal din taħdem fil notazzjoni deċimali, ħlief here huwa binarju, id-dritt? Allura huwa fil-bażi tnejn. Allura żid 1 flimkien ma '1. Li jagħti 0, u 1 twettaq matul. U biss iżommu tagħmel dan, Allura issa tidħol il-kwistjoni aktar interessanti. Nafu kif jirrappreżentaw kollha interi pożittivi fil-kompjuter, imma ejja jagħmlu din eżerċizzju. Nippretendu inti guys huma kollha fl-1960 jew xi ħaġa tipprova toħloq kompjuter, u inti għandek toħroġ ta ' mod ta 'ħażna minus 1, per eżempju, jew nieqes kull numru sħiħ għal dik il-kwistjoni. Kif inti tagħmel dan? Xi ideat? Just tarmi xi ħaġa fil lili. Iva? UDJENZA: [inaudible] jinnominaw speċjali jekk tiegħek [inaudible]. GABRIEL: Tista 'jinnomina bit speċjali, li se jkun ta '0 jew 1. Ejja ngħidu wieħed jekk huwa pożittiv u 0 jekk huwa negattiv. U allura l-bqija tal-bit huwa biss li jaħżen in-numru. Kessaħ. Allura li hija idea tajba ħafna. Għandna, I do not know, 200. U jekk l-ewwel bit hija mdawwar fuq, allura huwa plus 200. Jekk huwa mitfi, huwa nieqes 200. Kessaħ. Hemm biss wieħed żgħir problema ma 'dan, li hija jekk nippruvaw biex qosor affarijiet up. Allura immaġina għandna 11111 hawn, u aħna qed jingħaddu din ma 00,100 x'ikun. Jekk dawn iż-żewġ huma pożittivi, li l-multa. Iżda mbagħad jekk wieħed minnhom hija negattiva, bħal ejja ngħidu li din id-daqsxejn hawn huwa dak li l-responsabbli for-- Jien ser tagħmel separate-- għalhekk dan wieħed ifisser li dan in-numru hawn huwa pożittiv. Dan wieħed ifisser li din Numru hawnhekk huwa negattiv, id-dritt? Imma mbagħad meta int tmur qosor minnhom, inti bżonn jekk dikjarazzjoni qal oh jekk dan huwa ta '0, allura somma tiegħi se tkun xi ħaġa differenti, id-dritt? Allura hemm kemmxejn mod aktar għaqlija li tagħmel li, li hija imsejħa jikkumplimentaw tnejn tal. Allura bażikament dak li aħna tagħmel huwa niddefinixxu minus 1 li jkun il-ħaġa li jekk aħna żid sa 1 tagħtina 0. Let me jirrepetu dak. Mela ejja ngħidu li dan hawnhekk huwa 1. X'inhu l-ħaġa li b'mod naturali fil interi pożittivi jiżdied ma 'dak tagħtina 0? X'jiġri jekk nippruvaw iżżidhiex dan in-numru? Aħna qed tmur biex have-- OK, so ejja żid. Aħna qed tmur biex ikollhom 1 plus 1 huwa ta '0, u mbagħad twettaq fuq. U allura aħna qed tmur biex tikseb 0 darb'oħra. Jien jkollna konfuż. U int se tikseb 0 u 0 u 0 u 0 u 0 u 0. Lottijiet ta '0 tal. Fl-aħħar waħda, aħna mhux qed ser tkun tista 'twettaq dan matul, għaliex ejja ngħidu aħna qed jittratta biss ma byte wieħed, hekk biss 8 bits. Allura dak li l-kompjuter ma kontumaċja huwa biss jinsa dwar dan [inaudible], OK? Allura dan huwa dak li jissejjaħ it-tnejn tal-komplement. Aħna sempliċiment jiddefinixxu minus 1 biex tkun il- ħaġa hawn li jekk inti żid li biex 1 kieku jtik 0. U li pretty jibred għaliex aħna ma verament bżonn tard biex jimplimentaw tip differenti ta 'somma jiddependi fuq jekk thats negattiv jew numru pożittiv. Ma li jagħmel sens? Ħaġa hekk waħda li nagħmlu hawn biex jikkonvertu bejn impatt pożittiv u negattiv integer huwa mbagħad aħna flip kollox, u allura aħna żid 1 sa dak in-numru. Jekk inti tipprova tagħmel it yourself fuq biċċa karta, int ser tara li jagħmel sens. Imma jekk I jieħdu dan in-numru hawnhekk, dan huwa ħamsa. Hekk jekk I flip kollox hawn, hekk 1, 1, 1, 1, 1. Flip, flip, flip. U mbagħad I żid 1 miegħu. Jien ser ikollhom eżattament minus 5. OK? Dan it-tip ta 'jagħmel sens għaliex jekk inti tipprova somma dan ma 'l-għadd li kellna qabel, li was-- ejja flip dan mill-ġdid. Kien 101 u lottijiet ta '0 tal. Jekk inti tipprova żżid dawn żewġ numri flimkien, int se jkollhom eżattament 0. OK. Kwalunkwe mistoqsijiet? UDJENZA: [inaudible] GABRIEL: X'tifhem? UDJENZA: Negative biex pożittiva [inaudible]. GABRIEL: Le, inti flip u inti żid 1 dejjem. Yeah. OK, hekk karattri encoded wkoll binaries. Għandna tabella ASCII, kif inti raw ukoll lecture, id-dritt? Allura huwa bażikament immappjar ta 'affarijiet. U hawn I ma jistax jenfasizza biżżejjed li għal kompjuter, u 65 litteralment l-istess ħaġa. Hekk jekk nikteb xi ħaġa bħal char c huwa ugwali għal, I jistgħu fl-istess ħin biss jiktbu 65 hawn, u tkun eżattament l-istess, OK? M'hemm l-ebda differenza tkun xi tkun. Aħna normalment tendenza li tpoġġi karattri fit-varjabbli tat-tip. Char, mhux għaliex qed essenzjalment magħmula għal dan, iżda minħabba ta 'konvenzjoni tal-bniedem. Imma int tista 'biss jittrattaw interi minflok varjabbli ta char tip, u tkun taf tkun multa. L-unika differenza attwali bejn c char u i int hija li int għandu erba 'bytes fil-maġġoranza sistemi, filwaqt li char għandha byte wieħed. Huma qed essenzjalment l- istess ħaġa f'termini ta 'data. Allura x'se print hawn? Hawnhekk aħna qed istampar ċifri jużaw printf bil plus 1, u bħad interi, Chars jistgħu jingħataw f'sinteżi, hekk karattri jistgħu wkoll jiġu mqassra. Allura dan huwa eżattament 65. Allura hemm għaddej li jkun 66, u hawnhekk għandna 65 plus ftit big A nieqes, li se tkun, I do not know verament. Iżda se jkun eżattament l-vojt bejn l-ittri kapitali uu l-ittri iżgħar, hekk aħna qed tmur biex tikseb żgħar, id-dritt? Yeah. Allura dan se jistampaw karattru li huwa eżattament dan wieħed. Tajba? Kwalunkwe mistoqsijiet? Hawnhekk għandna mazz ta 'differenti tipi għas-varjabbli numeriċi. Aħna diġà jitkellmu dwar int. Float huwa biss mod to-- dan huwa verament umoristiċi, għaliex meta I ewwel tgħallmu għall-programm lura fil-ġurnata ma ' Python, l-ewwel programm I qatt ppruvaw jiktbu, I raw li kien hemm tip msejħa u tip imsejjaħ float. U l-float kienet għal numri reali. Mela allura I staqsa għaliex għandu I qatt tuża int allura? Għaliex jekk I jistgħu jużaw kollha numri reali ma 'float, Nixtieq biss tieqaf tuża ints, id-dritt? Minħabba numri reali huma ferm simili aktar ġeneriku. Jirriżulta li dan huwa mhux il-każ fil-kompjuters għaliex qed essenzjalment affarijiet differenti. Allura interi u sufruni, l- operazzjonijiet li inti tagħmel lilhom huma essenzjalment differenti minħabba tal-mod li huma maħżuna, OK? Aħna qed tmur biex jitkellmu ftit daqsxejn aktar dwar dan fit-tieni. Allura doppja huwa biss float akbar. Normalment f'ħafna sistemi, float huwa erba 'bytes, biss bħal int. U doppja hija tmien bytes. A twil twil huwa attwalment biss simbolu li inti tehmeż għal tip simili int. You say twil twil int bħal dan. Long int twil x li jagħmilha itwal. Hekk f'ħafna sistemi, li se jagħti tmien bytes minflok il-soltu erba. U inti tista 'attwalment qatra l- fil, u għalhekk jista 'biss jgħidu twil twil, u li jaħdem wisq, OK? Tista 'wkoll tagħmel affarijiet oħra bħal int mhux iffirmat, jew għal darb'oħra sempliċiment mhux iffirmat se taħdem ukoll. U li tagħmel x 'jkun fattur varjabbli bħal kollox huwa pożittiv, sabiex inti ma tistax verament ikollhom negattiv numri fil-mod li rajna up here. Allura wara isbaħ punt u preċiżjoni floating. Din kienet waħda mir-raġunijiet għaliex inti tixtieq li tuża ints minflok sufruni, minħabba ints huma 100% preċiżi, id-dritt? Huwa eżattament dak in-numru. Għall-punti f'wiċċ l-ilma, jekk inti jgħidu tweġiba ugwali 1 fuq 10-- I jiġri li jkollhom din eżatta programm hawn, float.c. Li prints għal 20 postijiet deċimali. 1 maqsum f'10, u li normalment hija 0.1, id-dritt? Imma hawn jekk nagħmlu float u allura aħna run, naraw li mhuwiex eżattament 0.1. Hija 0.149 xi ħaġa. U għaliex huwa li? Għaliex inti ma tistax verament tirrappreżenta kull numru reali possibbli uniku fil-memorja għaliex hemm uncountably ħafna minnhom. Allura aħna qed teknikament kapaċi biss li jirrappreżentaw ammont finit ta 'minnhom ma 'ammont finit ta' data. Imma huwa verament interessanti. Issa dan iqajjem il- kwistjoni ta 'kif inti go dwar jirrappreżentaw dan ma 'bits, id-dritt? Allura kif huma flowts maħżuna? Bil interi li kien faċli. Iżda ma sufruni trid biex timmassimizza l-firxa, u inti tixtieq li tkun kapaċi li jirrappreżentaw numri enormi u n-numri żgħar ħafna bħal 0.000001 fl-istess ħin. Għalhekk għal darb'oħra, l-istess logħba. Ħadd ma jkollu ebda idea kif nistgħu go dwar jirrappreżentaw float fil-memorja? Just tarmi xejn. Iva, jekk jogħġbok. UDJENZA: [inaudible] bħala jekk kien żewġ ints u wieħed huwa l-[inaudible] u wieħed benesseri kollox wara l-punt deċimali. GABRIEL: OK, berred. Allura żewġ numri interi differenti. Inti jista 'jkollhom 12.45, b'tali mod li 12 u 45. Nizza. Dak ere inti ser tg? L-istess ħaġa? Yeah? UDJENZA: [inaudible] notazzjoni fejn inti separati l-bażi. GABRIEL: notazzjoni Xjentifiku, yeah dan huwa normalment x'jiġri. Allura dan huwa dak li jissejjaħ il-mantissa. Dak hu huwa effettivament il- numru, u allura l-esponent huwa biss meta l-virgola, id-dritt? Allura dan se jkun xi ħaġa tal-formola 1, 2, 3, 4, 5 darbiet 10 għall-minus 4. I biss realizzati that-- yeah, eżattament. U allura dan 10 għall-nieqes 4 huwa ser jiddefinixxu fejn il-virgola hija, OK? Fil-Brażil nużaw comma. Hawnhekk inti guys jużaw dot. Allura dot. U dan huwa jibred, għaliex imbagħad inti tista tiffoka lottijiet ta 'bits tiegħek fuq dan Guy hawn, fuq il-mantissa, u allura li se tkun preċiżjoni attwali tiegħek. U inti tista 'tagħmel dan jew fil deċimali jew fis-sistema bbażata binarja. Hemm differenti modi biex jimplimentaw dan. Mistoqsijiet? Iva? UDJENZA: Kemm postijiet wara l-deċimali [inaudible]? GABRIEL: Li l-kwistjoni kkumplikata, għaliex dan huwa qatt verament 100% preċiża, għaliex kif inti tara hawn, għal xi numri huwa 100% preċiża. Nemmen jekk npoġġux 0.5 hawn, li għaddej biex tkun ta '100% preċiża. Li għaddej biex tkun 0.500000. Allura f'dak il-każ, huwa perfett. Iżda f'każijiet oħrajn, huwa ħafna inqas perfetta. Fl-esperjenza tiegħi, bħal sa erbgħa, ħames postijiet deċimali hija pjuttost preċiża. Jekk inti tuża doppja, li għaddej biex jkun mod aktar preċiż minn dak, OK? ROB Bowden: Allura biss biex tarmi xi kuntest aktar fuq sufruni, I qatt remember 100% kif il- spec ta sufruni attwalment xogħlijiet, imma I do inti dejjem tiftakar li sufruni jibda jkollna messy. Allura l-idea hija li meta ikollok tassew, verament numri kbar jew tassew, tassew numri żgħar, nibdew jkollna agħar u agħar fil jiddifferenzjaw bejn żewġ sufruni qrib. Allura kif I simili biex jaħsbu dwar huwa mal floating punt impreċiżjoni, hemm żewġ sufruni li jekk I tipprova tispeċifika lilhom fis-C, minkejja l-fatt li dawn qed numri differenti, dawn qed tmur biex tkun interpretat bħala l-istess numru, għaliex ma nistgħux jaħżinhom differenti. Jeħtiġilna nużaw l-istess bits. U hekk meta aħna nikseb biex tassew, tassew numri kbar, tkellem bħall 10 għall-300 jew xi ħaġa, huwa f'dak il-punt li 10 għall-300 jew 5 darbiet 10 għall-300 ma jista 'jiġi differenzjat minn 7 darbiet 10 għall-300. Allura li differenza pretty big bejn iż-żewġ numri. Imma mbagħad meta ikollok isfel għall-affarijiet normali firxa, inti għandek tendenza li jkun pjuttost tajba fil jiddifferenzjaw. U mbagħad meta ikollok isfel verament żgħar, int wkoll jkollna pretty bad darb'oħra. Allura bħal mazz sħiħ ta ' 0.0000, jiġrilha pretty bad. GABRIEL: Yeah, so a quick nota. Qatt tagħmel dan. Qatt tipprova tqabbel sufruni jużaw ugwali ndaqs, minħabba li, anki jekk dawn qed kważi l- istess, kważi l-istess mhuwiex l-istess. Allura dak li inti normalment tagħmel huwa inti naqqas minnhom, jieħdu l-valur assolut ta 'dak, u ara jekk dan huwa iżgħar minn 0.0001 jew xi ħaġa bħal dik, OK? U kessaħ. Naf ħafna nies ikollhom xi isfond fl Java, speċjalment dawk li ma Kompjuter xjenza AP, id-dritt? U Java hija lingwa dik ibbażata fuq C aktar, hija għandha koppja differenzi kbar ħafna. Iżda għall loops, u IfS, u għalf bħal li, dawn qed kollha l-istess sintassi. Għandi ftit programmi hawn biex juru din. Hekk per eżempju, dinja bonjour sempliċi. Dan huwa bonjour dinja fis-C, li inti guys huma definittivament familjari ma ', u dan u dan huwa wieħed fl Java. Allura fl Java għandna dan klassi pubbliku, Hello dinja, u bla effett statiku pubbliku args prinċipali, u string. Il args string huma għaddejjin li jidhru fl C ħafna dalwaqt. Imma ejja ma jmorru hemm s'issa. Dritt issa għandna null hawnhekk, li jfisser li prinċipali ma tiġix jieħu ebda argument. U allura għandna println, il-u li l- tip ta 'l-ekwivalenti għall-printf. Hawnhekk aħna ma verament bżonn l-backslash n għax ln print ma li għalik. Hija tannetti l-backslash n fl-aħħar tal-linja. Imma jekk inti tmur fis xi ħaġa bħal, inti jista 'jara li dawn qed pretty ħafna l-istess ħaġa. Allura inizjalizzazzjoni, u l- kondizzjoni, u l-aġġornament is-- I qbiżt spazju here-- li qed pretty ħafna l-istess ħaġa, ħlief Java għandha bħala aktar livell għoli Jittieħed ftit. Hawnhekk nistgħu nagħmlu plus I u Java se awtomatikament jagħmlu dan I hawnhekk, li hija integer, fi string, u mbagħad tehmeż l- żewġ kordi flimkien. Hawnhekk fil C rridu nagħmlu l-% & d. Il-linja hawnhekk, il-għall- jistenna eżattament l-istess. U jekk inħarsu lejn jekk, l-IfS wkoll ħarsa eżattament l-istess, id-dritt? Allura l-differenzi kbar reali huma f'dawk l-affarijiet li tara hawn. Statiku pubbliku, null, u allura klassi pubbliku jekk. Allura Java għandha x'inhu imsejħa magna virtwali. U huwa bbażat ħafna ħafna fuq liema huwa msejjaħ oġġett orjentata ipprogrammar, li hija ħafna, komuni ħafna paradigma għall-ipprogrammar llum. U dan ħaġa klassi hija dak li tara, xi ħaġa minn orjentazzjoni oġġett, huwa inti toħloq klassi u allura inti jistgħu jiksbu oġġetti minn dik il-klassi. Aħna mhux qed tmur biex jitkellmu wisq ħafna dwar li fil CS50, iżda li definittivament xi ħaġa verament jibred, speċjalment jekk inti tixtieq li tmur fis iżvilupp tal-web aktar sofistikati fl-aħħar tal-kors, bħall jissottomettu proġett finali tiegħek u xi oqfsa sbieħ u l-għalf. Allura bażikament l-idea hija li inti ma jridux li jerġa 'jimplementa xi ħaġa, sabiex inti toħloq xi ħaġa li ġeneriċi ħafna, bħall-forma, u allura inti toħloq forom differenti minnha, u mbagħad minn kull wieħed dawn forom, inti toħloq xi forom aktar speċifiċi fi tliet dimensjonijiet jew xi ħaġa bħal dik. U dawn ikollhom din il-ġerarkija huma jirtu mill-oħrajn, hekk funzjonijiet kollha u varjabbli kollha li il-forma kbira hawn għandha, dawn kollha ser ikollhom, u kollha ta 'dawn huma ser ikollhom, u hekk u ibqa 'sejjer hekk. Allura dak l-idea bażika. C ma jkollux dan, iżda C ++ ma jkollhom dan it-tip ta 'karatteristika. U Java hija influwenzata b'mod qawwi billi orjentazzjoni oġġett, b'tali mod li għalhekk inti tara klassi hawn il-ħin kollu. U l-ħaġa oħra hija din il-magna Java virtwali. Allura dan, naħseb, hija idea intelliġenti ħafna. Allura dak li l-folks li java ivvintat ma huwa huma ma jridux jikkompilaw kodiċi tagħhom darbtejn kieku kellhom run fil-Windows, jew Mac, Linux jew, hekk dak li jagħmlu huwa huma litteralment run xi ħaġa bħall-appliance, imma inti ma verament tara dan jiġri. Allura dawn run magna virtwali ġewwa tal-kompjuter tiegħek, li huwa bażikament simili sistema operattiva mini. U li operattiva iskop tas-sistema fis-ħajja huwa biss jiddekorri dak li jissejjaħ kodiċi byte. Allura minflok fis-C, il-mod aħna kieku jiġbor dan hu li tagħmel jekk, u mbagħad run ./if. I nesa l-backslash fil. Fl Java, inti tagħmel l-ewwel Java C sa josservawha, if.c. Mhuwiex C. Huwa dot java. U allura inti għandek run ma ./. Ikollok dan il-fajl ġdida if.class, imma inti ma tistax verament run if.class issa biss bħal għamilna qabel. Dan mhuwiex eżekutibbli. Inti għandek jiddekorri. Inti għandek għall-għalf fis programm imsejjaħ Java, u dak il-programm huwa l-magna virtwali, u allura inti tagħmel if.class, jew jekk. Iva. U mbagħad taħdem. OK hekk din hija tip ta 'l- magna virtwali jiġri. C ma jkollux li, hekk jekk I kellhom tpoġġi dan il-programm fil-magna Windows, ma tkunx taħdem fil C. Fil Java ma. Mistoqsijiet? Kessaħ. C'est jekk għal sezzjoni super għal-lum.