>> Дэвід Дж. Малан: Давайце цяпер рэалізаваць функцыя, не толькі ёсць бок
эфект, але замест вяртаецца вяртаецца значэння.
У прыватнасці, давайце рэалізаваць функцыю называецца атрымаць станоўчы Int якога
мэта ў жыцці, каб зрабіць менавіта гэта.
У прыватнасці, я хацеў бы выкарыстаць гэтая функцыя наступным чынам -
Int N атрымлівае атрымаць станоўчы Int.
А потым раздрукаваць е, дзякуючы для адсоткаў я як
запаўняльнік, коска, канец.
>> Цяпер, вядома,, атрымаць станоўчы унутр яшчэ не існуе.
Так што давайце абяцаюць рэалізаваць яе на дадаўшы ў пачатак маім файле радкі
як унутр паказваючы, што гэтая функцыя вернецца ў міжнар -
атрымаць станоўчы Int.
І давайце відавочна паказаць, што гэта функцыя не будзе рабіць ніякіх ўваход, і
так што яго аргументы з'яўляюцца несапраўднымі.
Давайце цяпер у ніжняй частцы майго файла, проста так, што я магу трымаць магістраль наверсе,
на самай справе рэалізаваць або вызначыць гэтая функцыя.
>> Спачатку мы пачнем з таго ж подпіс, так бы мовіць -
унутр атрымаць станоўчы унутр несапраўднымі.
А цяпер давайце рэалізуем атрымаць Пазітыўны Між наступным чынам.
Давайце абвясціць Int, якая таксама называецца N, але мы маглі б назваць гэта амаль усё, што
мы хацелі б, выканайце наступныя дзеянні ў той час як некаторыя ўмова праўдзіва, і мы вернемся да
што стан у дадзены момант.
Надрукаваць е, калі ласка, дайце мне станоўчы Int, а цяпер давайце выкарыстоўваць Get унутр ад
CS50 бібліятэка на самай справе атрымаць, што Int.
>> Але ў маім стане, давайце зробім гэта цыкл да тых часоў, N менш 1.
Іншымі словамі, пры ўмове, што карыстач не будзе супрацоўнічаць, даваў мне
з станоўчым Int, дазвольце мне зноў хуткае яму ці ёй зноў, і зноў, і зноў
пакуль ён або яна не робіць.
Але я яшчэ не скончыў, таму што ў Канец гэтай функцыі мне трэба
на самай справе зрабіць нешта з гэтага ўваходу.
І таму я збіраюся ісці аб вяртанні гэта з лініяй, як зваротны канец
кропка з коскі, тым самым вяртаючы фактычная Int На галоўную які назваў гэтую функцыю.
Зараз гэта варта адзначыць, што нягледзячы на ​​тое, атрымаць станоўчыя дзесятковага вяртаецца ў міжнар, гэта
вядома, выдатна для таго, каб вярнуцца станоўчае унутр адмыслова.
Існуе не асаблівы тып дадзеных для станоўчае цэлы лік спецыяльна, таму мы
проста выкарыстоўваць убудаваны ў "Int."
>> Цяпер вернемся на лініі дзевяці, звярніце ўвагу, што я Раздрукаваўшы N. Але N ў гэтай лініі
належыць N, якая аб'яўлена ў адпаведнасці восем.
Вось і атрымліваецца, вы можаце абсалютна ёсць зменныя аднолькавымі імёнамі так
ўмове, што яны існуюць у межах розныя вобласці.
І нагадаем, што аб'ём вызначаецца фігурныя дужкі, якія найбольш блізка
атачаюць зменную што вы вызначылі.
>> Зараз давайце кампіляцыі і запусціць гэтую праграму.
Зрабіць функцыі 1, кропка скараціць функцыі 1.
Давайце дамо яму станоўчую RC-як 50, і гэта кажа дзякуй за 50.
Між тым, калі мы не супрацоўнічаем, запусціўшы праграму зноў, даючы яму
0, я паўторным запыце або прадастаўленне яго адмоўны 1, я зноў будзе прапанавана.
Але калі я супрацоўнічаюць прадастаўлення яму, кажуць, 50, я падзякаваў за 50.