>> SPEAKER 1: Supponiamo ora che volevo per dare la possibilitĂ Scratch
starnutire pure.
Beh, il mio primo istinto sarebbe essere, come prima, per fare un
blocco, chiamare questo starnuto.
Preciso che mi piacerebbe precisare con un numero di quante volte
Scratch dovrebbe starnutire.
Successivamente fare clic su OK.
Permettetemi di spostare questo verso destra per darmi un po 'piĂš spazio.
>> E poi mi permetta di andare di nuovo a ripetere, sovrascrivendo il valore predefinito 10 con n.
Lasciatemi andare alla comunicazione voce e dire che non "ciao", ma
"Achoo" per un secondo.
Poi prendere un attimo di tregua.
E questo Ă¨ tutto.
>> Ora ho un blocco chiamato starnuto, nonchĂŠ un blocco chiamato tosse.
Quindi, che ora se voglio Gratta a tossire e starnuto, posso semplicemente specificare un
starnuto sotto la tosse.
Tre volte, dire.
Fare clic sulla bandiera verde, e dovrei vedere infatti, tosse, tosse, tosse.
Seguito da achoo, achoo, achoo.
I miei starnuti piĂš realistici fino ad oggi.
>> Ora notate qualcosa che Ă¨ male per questo motivo.
Anche se non ho duplicato a titolo definitivo tutti i pezzi del puzzle, I
sicuramente trascinati piuttosto tanto gli stessi pezzi del puzzle, dando
la funzione One una sempre leggermente nome diverso rispetto agli altri, starnuto
contro la tosse.
Quindi, questa Ă¨ un'opportunitĂ per factoring qualche codice comune.
Infatti, notare l'unica differenza tra tosse e starnuto Ă¨ quello
Scratch ha detto "tosse", il altro di cui dire "achoo".
>> Quindi non potremmo in qualche modo generalizzare questo codice in modo tale che, semplicemente
Specifichiamo che parola che vogliamo per il Gratta soggiornare?
E a seconda di quella parola, lo farĂ effettivamente essere un colpo di tosse o
sarĂ uno starnuto.
Quindi cerchiamo di andare avanti e fare questo.
Facciamo una terza funzione e chiamare questo ", dice." e voglio che
accettare, non solo un numero, ma questa volta una stringa, altrimenti noto come
parola o frase.
>> And we'll call this "word."
E quante volte faccio voglio dire questa parola?
Beh diciamo specificare un numero, chiamando di nuovo n.
E proprio per rendere questo blocco piĂš leggibile, lasciami andare avanti e aggiungere un
etichetta chiamata "tempi". CosĂŹ che quando si Leggere questo blocco da sinistra a destra, si
letteralmente dice "dicono volte la parola n".
>> Ora lasciatemi andare avanti e fare clic su OK.
E adesso lasciatemi implementare questo blocco, nuovamente utilizzando un blocco di ripetizione.
Specificando che voglio a ripetere n volte.
Precisando che voglio dire qualcosa per un secondo.
Ma piuttosto che qualcosa di duro codificato in questa funzione, diamo invece trascinamento
e rilasciare la parola che Ă¨ stato passato dentro
Andiamo quindi attendere per un secondo.
CosĂŹ ora lasciami andare indietro e perfezionare la mia implementazioni di tosse e starnuti,
in modo tale che queste due funzioni chiamare questa terza funzione, cosĂŹ
minimizzando la quantitĂ di duplicare il codice.
Quindi cerchiamo di buttare letteralmente questo codice di distanza.
Buttiamo questo codice via.
E questa volta, facciamo semplicemente specificare che tosse dovrebbe essere attuato da
dire "tossire" un determinato numero n di volte.
>> E allo stesso modo, possiamo tornare indietro e re-implementare starnuto in modo che utilizzi
dire con un argomento dei tempi "achoo" n.
Allora cosa abbiamo fatto?
Abbiamo riconosciuto il codice che Ă¨ stato comune sia per la nostra tosse e la nostra
starnutire funzioni, presi fuori in una nuova terza funzione, e poi
tosse riscritto e starnutire in tale un modo che essi chiamano
terza e nuova funzione.
>> Ora abbiamo assolutamente fatto tutto questo programma piĂš complicato di quanto
davvero bisogno di essere.
Dopo tutto, alla fine della giornata, abbiamo solo bisogno Scratch a tossire tre volte
e starnutire tre volte.
E avremmo potuto fare che, con Pochi pezzi del puzzle.
Ma, come i nostri programmi ottenere molto di piĂš complicato, ei nostri programmi piĂš
sofisticata, questa tecnica di factoring out codice comune, o
gerarchica decomposizione tuo programma in funzione di piccoli, ciascuno dei quali
chiamare altre funzioni, Ă¨ molto tecnica convincente.
PerchĂŠ farĂ in modo che il codice, anche come si arriva piĂš complessi, rimane
facile da aggiornare e anche molto leggibile.
>> Infatti, si consideri il risultato finale.
Quando la bandiera verde viene cliccato, tosse per tre volte, starnutire tre volte.
E questo Ă¨ tutto.
In realtĂ , facciamo esattamente questo.
Fare clic sulla bandiera verde e otteniamo una tosse, due colpi di tosse, tre colpi di tosse.
Seguito da, speriamo, una volta starnutire, due starnuti, e un terzo starnuto.
Spero che si rimetta presto.