SPEAKER 1: Antag nu, at jeg ønskede at give Scratch evnen at nyse så godt. Nå, mine første instinkter ville være som før, for at foretage en blok, kalder dette nys. Angive, at jeg gerne vil præcisere med en række, hvor mange gange Scratch skulle nyse. Derefter at klikke på OK. Lad mig flytte dette over til højre at give mig selv noget mere plads. Og så lad mig igen gå til Gentag, tvingende standard 10 med n. Lad mig gå til sige erklæring og sige ikke "hej", men "Achoo" i et sekund. Derefter tage et øjebliks pusterum. Og det er det. Nu har jeg en blok kaldet nys, samt en blok kaldes hoste. Så nu, hvis jeg vil Skrab at hoste og nys, kan jeg simpelthen angive en nyse under hans hoste. Tre gange, siger. Klik på det grønne flag, og jeg vil se ja, hoste, hoste, hoste. Efterfulgt af Achoo, Achoo, Achoo. Mine mest realistiske nyser til dato. Læg nu mærke til noget, der er dårligt om dette design. Selvom jeg ikke ligefrem eksemplarer eventuelle puslespilsbrikker, jeg definitivt trækkes og slippes temmelig set de samme puslespilsbrikker, der giver den ene funktion en nogensinde så lidt andet navn end den anden, nys versus hoste. Så dette er en mulighed for factoring nogle fælles kode. Faktisk mærke den eneste forskel mellem hoste og nys er, at man har Scratch ordsprog "hoste", den andre som siger "Achoo". Så kunne vi ikke en eller anden måde generalisere denne kode på en sådan måde, at vi simpelthen specificere, hvad ord, vi ønsker at Skrab skal man bo? Og afhængigt af det ord, vil det effektivt være en hoste eller vil det være et nys. Så lad os gå videre og gøre det. Lad os lave en tredje funktion og kalder denne ene, "siger." og jeg vil have det til acceptere, ikke bare et nummer, men denne gang en streng, ellers kendt som en ord eller en sætning. Og vi vil kalde dette "ord". Og hvad vil jeg sige? Og hvor mange gange skal jeg ønsker at sige dette ord? Jamen så lad os angive et tal, kalde det igen n. Og bare for at gøre denne blok mere læsbar, lad mig gå videre og tilføje en label kaldet "tider". Så når du læse denne blok fra venstre til højre, er det bogstaveligt siger "sige ord n ​​gange." Lad mig nu gå videre og klik på OK. Og lad mig nu gennemføre denne blok, igen ved hjælp af en gentagelse blok. Angivelse, at jeg ønsker det at gentage n gange. Angivelse, at jeg ønsker at sige noget i et sekund. Men snarere end noget hårdt kodet ind i denne funktion, så lad os i stedet trække og drop det ord, der er bestået i. Lad os derefter vente et sekund. Og lad os nu gå tilbage og forbedre mit implementeringer af nys og hoste, så de kalder det fungere igen. Så lad os smide denne kode. Lad os smide denne kode. Lad os gå til min tilpassede blok og træk i "sige". Og skriv det argument af "hoste" tre gange. Og hernede lad os trække i "siger" "Achoo" tre gange. Så lad mig gå tilbage og forfine min implementeringer af hoste og nys, på en sådan måde, at disse to funktioner kalder denne tredje funktion, hvorved minimere mængden af duplikere kode. Så lad os bogstaveligt kaste denne kode væk. Lad os smide denne kode væk. Og denne gang, så lad os blot angive, at hoste bør gennemføres ved sige "hoste" nogle tal n gange. Og på samme måde, kan vi gå tilbage og ny at gennemføre nys så den anvender sige med et argument af "Achoo" n gange. Så hvad har vi gjort? Vi har erkendt den kode, der var fælles for både vores hoste og vores nyse funktioner, medregnes det ud i en ny tredje funktion, og derefter omskrevet hoste og nyse i en sådan en måde, som de kalder det tredje og nye funktion. Nu har vi absolut gjort hele denne programmet mere kompliceret end det virkelig skal være. Efter alt, ved slutningen af ​​dagen, vi bare brug Scratch til at hoste tre gange og nyse tre gange. Og vi kunne have gjort det med blot et par puslespilsbrikker. Men da vores programmer få meget mere kompliceret, og vores programmer mere sofistikeret, denne teknik factoring ud fælles kode, eller hierarkisk forrådnede dit program i mindre funktion, som hver kalde andre funktioner, er en meget overbevisende teknik. Fordi det vil sikre, at din kode, selv som det bliver mere komplekse, rester let at opdatere og også meget læsbar. Faktisk overveje slutresultatet. Når det grønne flag er klikket, hoste tre gange, nys tre gange. Og det er det. Faktisk, lad os gøre netop dette. Klik på det grønne flag, og vi får en hoste, to hoste, tre hoster. Efterfulgt af, håber vi, engang nyse, to nyser, og en tredje nys. Håber han får det bedre snart.