>> SPEAKER 1: Supozu nun ke mi volis doni Scratch la kapablo
terni tiel.
Nu, mia unua instinkto volis esti, kiel antaŭe, fari
bloko, nomas tiun ternon.
Indiku ke mi ŝatus specifi kun numero kiomfoje
Nulo devus terni.
Poste klaki okej.
Lasu min movi ĉi super dekstren doni al mi iom pli ĉambro.
>> Kaj tiam mi denove iros al Ripetu, supera la defaŭlta 10 kun n.
Permesu al mi iri al la diru komunikaĵo kaj ne diru "saluton", sed
"Achoo" por unu sekundo.
Tiam prenu momenta paŭzo.
Kaj tio estas ĝi.
>> Nun mi havas bloko nomita ternon, tiel kiel bloko nomita tuso.
Por ke nun se mi volas Scratch tusadi kaj ternon, mi povas simple entajpi
terni sub sia tuso.
Tri fojojn, diru.
Alklaku la verdan flagon, kaj mi devus vidos ja, tuso, tuso, tuso.
Sekvate de achoo, achoo, achoo.
Mia plej realisma ternas al dato.
>> Nun rimarkos iun kiu estas malbona pri tiu dezajno.
Kvankam mi ne kategorie duplikatajn neniu puzlo pecojn, mi
definitive trenis kaj faligis belan la samo puzlo pecoj, donante
la funkcio ĉiam tiel iomete malsaman nomon, ol la alia, ternon
kontre tuso.
Do tio estas ŝanco por faktorigo el kelkaj komunaj kodo.
Ja, rimarki la sola diferenco inter tuso kaj terno estas tiu
havas Scratch diro "tuso," la aliaj pri kiu dirante "achoo."
>> Do ni ne povis iel ĝeneraligi ĉi kodo en tia maniero, ke ni simple
specifi kiu vorto ni volas grati resti?
Kaj depende de tiu vorto, ĝi volas efektive estus tuson aŭ
tio estos ternon.
Do ni iru antaŭen kaj fari tion.
Ni faras trian funkcion kaj invitas ĉi tiu, "diras." kaj mi volas, ke ĝi
akcepti, ne nur numeron, sed tiu tempo ŝnureto, alie konata kiel
vorto aŭ frazon.
>> And we'll call this "word."
Kaj kiom da fojoj mi volas diri tiun vorton?
Bone ni specifi numeron, nomante ĝin denove n.
Kaj ĝuste por fari ĉi tiu bloko pli legebla, lasu min antaŭeniri kaj aldoni
label nomata "foje." Por ke, kiam vi legu ĉi bloko de maldekstre al dekstre, ĝi
laŭvorte diras "diri vorton n fojoj."
>> Nun lasu min iri antaŭen kaj alklaku OK.
Kaj nun mi povas apliki ĉi bloko, denove uzante ripeto bloko.
Specifante ke mi volas ĝin ripeti n fojojn.
Specifante ke mi volas diri io por unu sekundo.
Sed anstataŭ io malmola coded en ĉi tiun funkcion, ni anstataŭ trenu
kaj faligi la vorto, kiu estas estis pasita in
Ni do atendas por unu sekundo.
Do nun lasu min iri reen kaj fajnigi mia realigoj de tuso kaj terno,
en tia maniero, ke tiuj du funkcioj nomas tiun trian funkcion, tiamaniere
ŝparajn la kvanto de duobligi kodo.
Do ni laŭvorte ĵeti tiun kodon for.
Ni ĵetu kodo for.
Kaj ĉi tiu tempo, ni simple specifas ke tuso devus esti realigita per
dirante "tusi" iu nombro n de epokoj.
>> Kaj simile, ni povas reiri kaj re-apliki ternon por ke gxi uzas
diri kun argumento de "achoo" n fojojn.
Do, kion ni faris?
Ni rekonas la kodo kiu estis komuna al ambaŭ niaj tuso kaj nia
terni funkcioj, faktorita gxi eliris en nova tria funkcio, kaj poste
reskribita tuso kaj terni en tiaj vojo, kiun ili nomas tiun
tria kaj nova funkcio.
>> Nun ni absolute faris tiun tutan programo pli komplika ol ĝi
vere bezonas esti.
Post ĉio, je la fino de la tago, ni nur bezonas Scratch tusadi tri fojojn
kaj terni trifoje.
Kaj ni povus fari, ke kun nur kelkaj puzlo pecojn.
Sed kiel niaj programoj akiri multe pli komplika, kaj niaj programoj pli
kompleksa, tiu tekniko de faktoranta el komuna kodo, aŭ
hierarkia malkomponanta via programo en pli malgrandajn funkcio, ĉiu el kiuj
voki aliajn funkciojn, estas tre konvinka tekniko.
Pro tio certigos ke via kodo, gxuste kiel gxi ricevas pli kompleksa, restaĵoj
facile ĝisdatigi kaj ankaŭ tre legebla.
>> Ja, konsideri la fina rezulto.
Kiam la verda flago estas klakis, tuso trifoje, terni trifoje.
Kaj tio estas ĝi.
Fakte, ni faros ekzakte tion.
Alklaku la verdan flagon kaj ni preni unu tusi, du coughs, tri coughs.
Sekvate de, ni esperas, unufoje terni, du ternas, kaj tria terno.
Esperas ke li ricevas bonan frue.