>> DAVID J. Malan: Let 's tagad īstenot funkcija, kas ne tikai ir pusē
efektu, bet tā vietā atgriežas atgriešanās vērtību.
Proti, pieņemsim īstenotu funkciju aicināja saņemt pozitīvu int kura
mērķis dzīvē ir darīt tieši to.
Precīzāk, es gribētu, lai izmantotu šī funkcija ir šāds -
int N izpaužas saņemt pozitīvu int.
Un tad drukāt f, pateicoties par procentiem i kā
vietturis, komats, beigas.
>> Tagad, protams, ir iespēja saņemt pozitīvu int vēl nepastāv.
Tāpēc pieņemsim sola to īstenot pievienojot augšpusē manu failu līnijas
piemēram, int nozīmētu, ka šī funkcija atgriezīsies int -
saņemt pozitīvu int.
Un pieņemsim norādīt skaidri, ka šis funkcija neveiks nekādas ievadi, un
tāpēc tās argumenti nav spēkā.
Pieņemsim tagad apakšā manu failu, vienkārši tāpēc, ka es varētu saglabāt Main up top,
faktiski īsteno vai definēt šī funkcija.
>> Sākumā mēs sākam ar pašu paraksts, tā teikt -
int saņemt pozitīvu int par spēkā neesošu.
Un tagad pieņemsim īstenot get pozitīva int šādi.
Pieņemsim jādeklarē int, ko sauc arī N, bet mēs varētu to saucam par gandrīz jebko
Mēs gribētu, rīkojieties šādi, lai gan daži nosacījums ir patiess, un mēs atgrieztos
šis nosacījums brīdi.
Drukāt f, lūdzu, iedodiet man pozitīvu int, un tagad pieņemsim izmantot Get int no
CS50 bibliotēka faktiski iegūt šo int.
>> Bet manā stāvoklī, pieņemsim to izdarītu loop tik ilgi, kamēr N ir mazāks par 1.
Citiem vārdiem sakot, ja vien lietotājs nesadarbojas, sniedzot mani
ar pozitīvu int, ļaujiet man atkal ātri viņam vai viņai atkal un atkal, un atkal
līdz brīdim, kad viņš vai viņa dara.
Bet es neesmu darīts vēl, tāpēc, ka beigās šīs funkcijas man ir nepieciešams, lai
patiešām kaut ko darīt ar šo ieguldījumu.
Un tā es iešu par atgriešanos tas ar līniju, piemēram, turp un atpakaļ beigās
semikols, tādējādi atgriežoties faktisko int uz galveno kurš aicināja šo funkciju.
Tagad tas ir vērts atzīmēt, ka, lai gan iegūtu pozitīvu int atdevi int, tas ir
protams, naudas sodu par to, lai atgrieztos pozitīva int īpaši.
Nav īpašu datu tips īpaši pozitīvs skaitlis, tāpēc mēs
vienkārši izmantot iebūvēto "int".
>> Tagad atkal rindā deviņi, ievērosiet, ka es esmu izdrukāt N. Bet N šo līniju
pieder N, kas ir deklarēti rindā astoņi.
Tātad izrādās, jūs varat absolūti ir mainīgie identiski nosaukts tā
kamēr tie pastāv laikā dažādu jomu.
Un atcerēties, ka apjoms ir noteikts cirtaini bikšturi, kas visciešāk
surround mainīgo ka jūs esat definēts.
>> Tagad pieņemsim apkopot un palaist šo programmu.
Dekoratīvās funkcijas 1, dot slash funkcijas 1.
Let 's to pozitīvu int līdzīgu 50, un tā saka paldies par 50.
Tikmēr, ja mēs nesadarbojas, atkal darbības programmu, piešķirot tai
0, es esmu prasīts vēlreiz, vai arī piešķirot tai negatīvs 1, es esmu piedāvāts vēlreiz.
Bet, ja es to sadarboties, nodrošinot to ar, saka, 50, es esmu pateicās par 50.