>> დევიდ ჯ Malan: მოდით ახლა განხორციელება ფუნქცია, რომელიც არ მხოლოდ აქვს მხარე
ეფექტი, არამედ ბრუნდება დაბრუნების ღირებულება.
კერძოდ, მოდით განხორციელების ფუნქცია ე.წ. დადებითი int, რომლის
მიზანი ცხოვრებაში არის გავაკეთოთ ზუსტად რომ.
კერძოდ, მინდა გამოიყენოს ეს ფუნქცია ასეთია -
int N იღებს დადებითი int.
და მერე ბეჭდვითი ვ წყალობით განთავსების პროცენტს i როგორც
placeholder, მძიმე, ბოლომდე.
>> ახლა რა თქმა უნდა, დადებითი int ჯერ არ არსებობს.
მოდით გპირდებით, რომ განახორციელოს ის მიერ დასძინა, რომ ზედა ჩემი ფაილის ხაზი
ისევე როგორც int ნიშნავს, რომ ამ ფუნქციას დაბრუნდება int -
დადებითი int.
და მოდით დააკონკრეტა მკაფიოდ, რომ ეს ფუნქცია არ მიიღოს ნებისმიერი შეყვანის და
ასე რომ მისი არგუმენტები ბათილად.
მოდით ახლა ბოლოში ჩემი ფაილი, უბრალოდ ისე, რომ შეგიძლიათ შეინახოთ მთავარი up ზედა,
რეალურად განახორციელოს ან განსაზღვრა ამ ფუნქციას.
>> პირველი, ჩვენ დავიწყებთ იგივე ხელმოწერის, ასე ვთქვათ -
int დადებითი int ბათილად.
და ახლა მოდით განახორციელოს მისაღებად დადებითი int ასეთია.
მოდით განაცხადოს int, ასევე მოუწოდა N, მაგრამ ჩვენ შეგვიძლია ეძახით თითქმის არაფერი
მინდა, არ, შემდეგ, ხოლო ზოგიერთი მდგომარეობა არის ჭეშმარიტი, და ჩვენ დაბრუნდება
რომ მდგომარეობა მომენტში.
Print f, გთხოვთ, მომეცი დადებითი int, და ახლა მოდით გამოვიყენოთ Get int საწყისი
CS50 ბიბლიოთეკა რეალურად მიიღოს, რომ int.
>> მაგრამ ჩემი მდგომარეობა, მოდით ეს loop ისე, სანამ N ნაკლებია, ვიდრე 1.
სხვა სიტყვებით, ისე, სანამ შესახებ არ თანამშრომლობს უზრუნველყოფს me
დადებითი int, ნება მომეცით ხელახლა prompt მას ისევ და ისევ, და ისევ, და ისევ
სანამ იგი აკეთებს.
მაგრამ მე არ კეთდება არ არის, იმიტომ, რომ ბოლოს ეს ფუნქცია მე უნდა
რეალურად რაღაც, რომ შეყვანის.
და მე ვაპირებ წასვლა დაბრუნების შესახებ ეს ხაზი მოსწონს დაბრუნების დასასრული
მძიმით, რითაც დაბრუნების ფაქტობრივი int to main რომელმაც ამ ფუნქციას.
ახლა ის უნდა აღინიშნოს, რომ მიუხედავად იმისა, დადებითი int ბრუნდება int, ეს
რა თქმა უნდა, ჯარიმა მას დაბრუნდეს დადებითი int კონკრეტულად.
არ არის განსაკუთრებული მონაცემები ტიპის დადებითი მთელი რიცხვი კონკრეტულად, ამიტომ ჩვენ
უბრალოდ გამოიყენოთ აგებული "int".
>> ახლა უკან ხაზის ცხრა შეამჩნევთ, რომ მე ვარ დაბეჭდვისას ნ მაგრამ N ამ ხაზის
ეკუთვნის N რომ გამოცხადდა ხაზი რვა.
გამოდის, თქვენ შეგიძლიათ სრულიად აქვს ცვლადები იდენტურად ვინაობა
რადგან ისინი არსებობენ ფარგლებში სხვადასხვა ფარგლებში.
და გავიხსენოთ, რომ ფარგლები განისაზღვრება curly აფრთხილებს, რომ ყველაზე მეტად
გარს ცვლადი რომ თქვენ განსაზღვრული.
>> ახლა მოდით კომპილირდება და აწარმოებს ამ პროგრამის.
რათა ფუნქციები 1, dot slash ფუნქციები 1.
მოდით მივცეთ მას დადებითი int-like 50, და ნათქვამია, მადლობა 50.
ამასობაში, თუ ჩვენ არ თანამშრომლობენ, გაშვებული პროგრამა ერთხელ, რაც მას
0, მე აიძულა კიდევ ერთხელ, ან ვაძლევთ მას უარყოფითი 1, მე აიძულა ერთხელ.
მაგრამ თუ მე არ ითანამშრომლებს, რომელიც უზრუნველყოფს მას, ამბობენ, 50, მე მადლობა გადაუხადა 50.