>> SPEAKER 1: Tegyük fel, hogy én akartam, hogy Scratch a képességet
tüsszentés is.
Nos, az első ösztönei lesz, mint korábban, hogy a
blokk, hívja ezt a tüsszentés.
Megadhatja, hogy szeretnék megadni számos hányszor
Scratch kell tüsszentés.
Ezt követően az OK gombra kattintva.
Hadd mozgatni ezt át a megfelelő hogy magamnak még egy kis szoba.
>> És akkor hadd ismét menjen Ismétlés, felülírva az alapértelmezett 10-n.
Hadd menjen a mondjuk védelme és azt mondják, nem a "hello", hanem
"Achoo" egy pillanatra.
Akkor egy pillanatra a pihenést.
És ennyi.
>> Most már van egy blokk nevű tüsszentés, valamint egy blokk úgynevezett köhögés.
Tehát most, ha azt akarom, Scratch köhögni és a tüsszentés, én egyszerűen adja meg a
tüsszentés alatt a köhögés.
Háromszor, mondjuk.
Kattintson a zöld zászlót, és én lásd sőt, köhögés, köhögés, köhögés.
Majd achoo, achoo, achoo.
A legreálisabb tüsszent a mai napig.
>> Most, észre valamit, ami rosszul ez a design.
Annak ellenére, hogy nem egyenesen ismétlődő minden puzzle darab, azt
határozottan húzni elég nagyjából ugyanaz a puzzle darab esetén, amely
Az egy funkció egy alig észrevehetően más nevet, mint a többi, tüsszentés
versus köhögés.
Tehát ez egy lehetőség a faktoring néhány közös kódot.
Sőt, észre az egyetlen különbség között, a köhögés és a tüsszentés, hogy az egyik
van Scratch mondás: "köhögés", a más ebből, hogy "achoo."
>> Így nem lehetett valahogy általánosítani kódot oly módon, hogy egyszerűen
határozza meg, milyen szót akarunk karcolja meg, hogy maradjon?
És attól függően, hogy a szó, hogy lesz hatékonyan lehet a köhögés, vagy
ez lesz a tüsszentés.
Szóval menjünk előre, és erre a célra.
Csináljunk egy harmadik funkció, és hívja ez, "mondja." , és azt akarom, hogy
fogadja el, és nem csak egy szám, de ezúttal egy sor, más néven a
szót vagy kifejezést.
>> And we'll call this "word."
És hányszor tudom akarom mondani ezt a szót?
Nos, nézzük meg egy számot, hívja újra n.
És csak azért, hogy ezt a blokkot még olvasható, hadd menjen előre, és adjunk hozzá egy
label úgynevezett "időkben." Tehát, hogy ha olvassa el ezt a blokkot balról jobbra, az
szó szerint azt mondja: "azt mondják, szó n-szer."
>> Most hadd menjen előre, és kattintson az OK gombra.
És most hadd végre ezt a blokkot, Ismét egy ismétlés blokk.
Megadása, amit szeretnék hogy ismételje meg n-szer.
Megadása, amit szeretnék mondani, valamit, egy pillanatra.
De ahelyett, hogy valami kemény kódolt be ezt a funkciót, nézzük inkább húzza
és vidd a szó, hogy ez hozták be
Nézzük majd várjon egy percet.
Tehát most hadd menjek vissza és finomítani a implementáció köhögés és tüsszentés,
oly módon, hogy e két funkció hívja ezt a harmadik funkció, ezzel
minimalizálva az összeg A kettős kód.
Szóval szó dobja ezt a kódot el.
Nézzük dobja ezt a kódot el.
És most, most egyszerűen adja meg, hogy köhögés kell végrehajtani
mondván, hogy "köhögés" bizonyos számú n alkalommal.
>> És hasonlóképpen, akkor megyünk vissza újra végrehajtani tüsszentés úgy, hogy az általa használt
mondjuk egy érv A "achoo" n-szer.
Szóval, mit tettünk?
Már felismerte a kódot, ami közös mind a köhögés és a
tüsszentés funkciók számították ki a egy új, harmadik funkciót, majd
újraírt köhögés és tüsszentés az ilyen olyan módon, hogy hívják, hogy
a harmadik és az új funkciót.
>> Most már teljes mértékben tette ezt az egész a program bonyolultabb, mint amilyennek
Tényleg kell.
Miután az összes, a végén a nap, mi csak meg kell Scratch köhögni háromszor
és tüsszentés háromszor.
És mi lehetett volna, hogy a csak néhány puzzle-darabokat.
De ahogy a program kap sokkal több bonyolult, és a programokat
kifinomult, ez a technika a faktoring ki közös kódot, vagy
hierarchikus bomló a programban kisebb funkciója, amelyek mindegyike
hívás más funkció, egy nagyon lenyűgöző technika.
Mert ez biztosítja, hogy a kódot, még akkor is, amennyire csak lehet bonyolultabb, marad
könnyen frissíthető és nagyon olvasható.
>> Sőt, úgy a végeredmény.
Amikor a zöld zászlót kattint, köhögés háromszor, tüsszentés háromszor.
És ennyi.
Sőt, most pontosan erre.
Kattintson a zöld zászlót, és kap egy köhögés, két köhögés, három köhögés.
Majd, reméljük, egyszer tüsszentés, Két tüsszent, és egy harmadik tüsszentés.
Remélem, hogy jobb lesz hamarosan.