>> DAVID J. Malan: Нека сега да се приложи функция, която не просто да има страна
ефект, но вместо да се връща връщане на стойност.
Конкретно, нека приложи функция нарича получите положителен вътр чиито
цел в живота е да се направи точно това.
По-конкретно, бих искал да използвам тази функция, както следва -
Int N получава получите положителен вътр.
И след това да отпечатате е, благодаря за процента и като
контейнер, запетая, край.
>> Сега, разбира се, да получите положителен Int все още не съществува.
Така че нека да обещаваме да го приложи по добавяне на върха на моя файл линия
като Int което означава, че тази функция ще се върне в Int -
получите положителен вътр.
И нека да се уточни изрично, че този функция няма да вземе нито един вход, и
така че неговите аргументи са невалидни.
Нека сега в дъното на моето досие, просто, така че мога да поддържаме главната до върха,
реалното изпълнение или да дефинирате тази функция.
>> Първо ще започнем с едни и същи подпис, така да се каже -
Int получите положителен вътр невалидна.
А сега нека да приложат получите положителен вътр както следва.
Да обявят ПНА, също наречена N, но бихме могли да го наречем почти нищо
ние бихме искали, направете следното, докато някои условие е вярно, а ние ще се върнете към
това условие в един миг.
Print е, моля да ми даде положителен ПНА, а сега нека използваме Get вътр от
CS50 на библиотеката, за да действително получи, че вътр.
>> Но в моето състояние, нека го направим контур доколкото N е по-малко от 1.
С други думи, докато потребителят не си сътрудничат с мен осигуряване
с положителен ПНА, позволете ми отново бързо него отново и отново, и отново
докато той или тя прави.
Но аз не съм свършил все още, тъй като в край на тази функция трябва да
всъщност направи нещо с този вход.
И така, аз ще отида за връщане го с линия като край връщане
точка и запетая, като по този начин връщането на действителната INT към основното който нарече тази функция.
Сега тя е да се отбележи, че въпреки че получите положителни вътр връща в ПНА, че е
със сигурност добре за него да се върне положително вътр конкретно.
Там не е специален тип данни за положително число по-специално, за да можем
просто да използвате вградената в "вътр."
>> Сега обратно на ред девет, забележите, че аз съм отпечатване N. Но N в този ред
принадлежи на N, който е обявен за в съответствие осем.
Така се оказва, можете да е абсолютно наложително променливи идентично име, така
стига те да съществува в рамките на различни сфери.
И припомни, че обхватът се определя от фигурните скоби, която най-пълно
обграждат променливата че вие ​​сте определили.
>> Сега нека да съставят и стартирате тази програма.
Направи функции 1, точка наклонена черта функции 1.
Да го даде положителен INT-като 50, и то се казва благодаря за 50.
В същото време, ако ние не си сътрудничат, стартирате програмата отново, тя дава
0, аз съм подканени отново, или да го даде отрицателен едно, аз съм подканени отново.
Но ако си сътрудничат му предоставя, казват, 50, аз съм благодари за 50.