1 00:00:00,000 --> 00:00:00,280 2 00:00:00,280 --> 00:00:02,970 >> ALTAVEU 1: Suposem ara que jo volia per donar la possibilitat a les ratllades 3 00:00:02,970 --> 00:00:05,080 esternudar també. 4 00:00:05,080 --> 00:00:07,710 Bé, el meu primer instint seria ser, com abans, per fer una 5 00:00:07,710 --> 00:00:10,070 bloc, trucar a aquest esternut. 6 00:00:10,070 --> 00:00:14,110 Especificar que m'agradaria especificar amb un nombre quantes vegades 7 00:00:14,110 --> 00:00:15,800 Esgarrinxada ha esternudar. 8 00:00:15,800 --> 00:00:17,540 Després de fer clic a D'acord. 9 00:00:17,540 --> 00:00:20,370 Permetin-me passar això a la dreta per donar-me una mica d'espai més. 10 00:00:20,370 --> 00:00:26,070 >> I llavors em va deixar de nou repetiré, reemplaçant el valor per defecte de 10 amb n. 11 00:00:26,070 --> 00:00:29,610 Déjame anar al compte d'exemple i dir no "hola", però 12 00:00:29,610 --> 00:00:32,350 "Achoo" durant un segon. 13 00:00:32,350 --> 00:00:35,180 Després prengui un moment de respir. 14 00:00:35,180 --> 00:00:36,040 I això és tot. 15 00:00:36,040 --> 00:00:39,220 >> Ara tinc un bloc anomenat esternut, així com un bloc de trucada tos. 16 00:00:39,220 --> 00:00:46,550 Així que ara si vull Raspe a tossir i esternut, jo simplement puc especificar un 17 00:00:46,550 --> 00:00:48,580 esternudar per sota del seu tos. 18 00:00:48,580 --> 00:00:49,930 Tres vegades, diguem. 19 00:00:49,930 --> 00:00:55,560 Feu clic a la bandera verda, i que hauria veure de fet, tos, tos, tos. 20 00:00:55,560 --> 00:01:01,880 Seguit per achoo, achoo, achoo. 21 00:01:01,880 --> 00:01:04,180 Els meus esternuts més realista fins a la data. 22 00:01:04,180 --> 00:01:09,240 >> Ara noti una cosa que és mala sobre aquest disseny. 23 00:01:09,240 --> 00:01:11,930 Tot i que no ho vaig fer duplicat de pla les peces d'un trencaclosques, que 24 00:01:11,930 --> 00:01:15,020 definitivament arrossegat i deixat anar bastant moltes de les mateixes peces d'un trencaclosques, donant 25 00:01:15,020 --> 00:01:18,660 la funció d'un molt lleugerament nom diferent que l'altre, esternut 26 00:01:18,660 --> 00:01:19,640 contra la tos. 27 00:01:19,640 --> 00:01:23,410 Així que aquesta és una oportunitat perquè el factoring fos una cosa de codi comú. 28 00:01:23,410 --> 00:01:27,020 De fet, compta amb l'única diferència entre la tos i l'esternut és que un 29 00:01:27,020 --> 00:01:30,710 té "tos", dient a les ratllades de la una altra de les quals deia "achoo." 30 00:01:30,710 --> 00:01:35,010 >> Així que nosaltres no vam poder d'alguna manera generalitzar aquest codi d'una manera que simplement 31 00:01:35,010 --> 00:01:37,990 especifiquem quina paraula que volem Scratch reservar? 32 00:01:37,990 --> 00:01:41,170 I en funció d'aquesta paraula, ho farà ser efectivament una tos o 33 00:01:41,170 --> 00:01:42,370 serà un esternut. 34 00:01:42,370 --> 00:01:43,580 Així que seguirem endavant i fer això. 35 00:01:43,580 --> 00:01:49,500 Anem a fer una tercera funció i cridar aquest ", diu." i jo vull que 36 00:01:49,500 --> 00:01:53,360 acceptar, no només un nombre, però aquesta vegada una cadena, conegut d'una altra manera com un 37 00:01:53,360 --> 00:01:54,980 paraula o frase. 38 00:01:54,980 --> 00:01:57,500 >> And we'll call this "word." 39 00:01:57,500 --> 00:01:59,500 I quantes vegades puc vull dir la paraula? 40 00:01:59,500 --> 00:02:02,680 Bé, anem a especificar un nombre, trucant de nou n. 41 00:02:02,680 --> 00:02:05,540 I només per aquest bloc més llegible, deixa anar per davant i afegir un 42 00:02:05,540 --> 00:02:11,000 etiqueta anomenada "temps". Així que quan vostè llegir aquest bloc d'esquerra a dreta, es 43 00:02:11,000 --> 00:02:14,380 literalment diu "diu la paraula n vegades." 44 00:02:14,380 --> 00:02:15,760 >> Ara vaig a seguir endavant i feu clic a D'acord. 45 00:02:15,760 --> 00:02:18,320 46 00:02:18,320 --> 00:02:22,750 I ara m'ho dius implementar aquest bloc, utilitzant de nou un bloc de repetició. 47 00:02:22,750 --> 00:02:25,680 Especificar que vull a repetir n vegades. 48 00:02:25,680 --> 00:02:29,480 Especificar que vull dir alguna cosa durant un segon. 49 00:02:29,480 --> 00:02:33,750 Però en lloc d'alguna cosa modificable en aquesta funció, anem al seu lloc d'arrossegar 50 00:02:33,750 --> 00:02:36,450 i deixar anar la paraula que és ha transmès polz 51 00:02:36,450 --> 00:02:38,790 Anem a continuació, esperar un segon. 59 00:02:39,297 --> 00:02:43,387 Així que ara m'ho dius a mi tornar i refinar la meva implementacions de la tos i l'esternut, 60 00:02:43,387 --> 00:02:47,367 de tal manera que aquestes dues funcions anomenar aquesta tercera funció, d'aquesta manera 61 00:02:47,367 --> 00:02:49,627 minimitzant la quantitat de duplicar codi. 62 00:02:49,627 --> 00:02:52,237 Així que anem a literalment a l'abast aquest codi de distància. 63 00:02:52,237 --> 00:02:54,037 Anem a llançar el codi de distància. 64 00:02:54,037 --> 00:02:57,707 I aquesta vegada, anem a simplement especifica que ments ha de ser implementat per 65 00:02:57,707 --> 00:03:02,607 dient "tossir" algun nombre n de vegades. 66 00:03:02,607 --> 00:03:06,987 >> I de la mateixa manera, podem tornar enrere i re-implementar esternut perquè utilitzi 67 00:03:06,987 --> 00:03:13,577 dir amb un argument de "achoo" n vegades. 68 00:03:13,577 --> 00:03:14,687 Llavors, què hem fet? 69 00:03:14,687 --> 00:03:18,417 Hem reconegut el codi que va ser comú a tots dos nostra tos i la nostra 70 00:03:18,417 --> 00:03:22,127 esternudar funcions, factorizado cap a fora en una nova tercera funció, i després 71 00:03:22,127 --> 00:03:25,377 ments reescrit i esternudar de tal de manera que a això li diuen 72 00:03:25,377 --> 00:03:27,177 tercera i nova funció. 73 00:03:27,177 --> 00:03:30,297 >> Ara ens hem fet absolutament tot aquest programa més complicat del que 74 00:03:30,297 --> 00:03:31,377 realment ha de ser. 75 00:03:31,377 --> 00:03:34,307 Després de tot, al final del dia, ens només té esgarrapades de tossir tres vegades 76 00:03:34,307 --> 00:03:35,587 i esternudar tres vegades. 77 00:03:35,587 --> 00:03:38,007 I podríem haver fet això amb només unes poques peces d'un trencaclosques. 78 00:03:38,007 --> 00:03:41,197 Però com els nostres programes d'obtenir molt més complexos, i els nostres programes més 79 00:03:41,197 --> 00:03:45,257 sofisticada, aquesta tècnica de factorització de codi comú, o 80 00:03:45,257 --> 00:03:49,007 jeràrquica en descomposició del seu programa en funció de més petit, cadascun dels quals 81 00:03:49,007 --> 00:03:51,846 trucar a altres funcions, és un molt tècnica convincent. 82 00:03:51,846 --> 00:03:55,627 Com que s'ha d'assegurar que el seu codi, fins i tot com es posa més complex, segueix sent 83 00:03:55,627 --> 00:03:58,087 fàcil d'actualitzar i també molt fàcil de llegir. 84 00:03:58,087 --> 00:03:59,627 >> En efecte, considerar el resultat final. 85 00:03:59,627 --> 00:04:03,917 Quan la bandera verda es fa clic, tos tres vegades, esternudar tres vegades. 86 00:04:03,917 --> 00:04:05,007 I això és tot. 87 00:04:05,007 --> 00:04:07,007 De fet, farem exactament això. 88 00:04:07,007 --> 00:04:12,187 Feu clic a la bandera verda i obtenim una tos, la tos dos, tres tos. 89 00:04:12,187 --> 00:04:18,607 Seguit per, esperem, un cop esternut, 02:00 esternuts, i un tercer esternut. 90 00:04:18,607 --> 00:04:19,857 Espero que es recuperi aviat. 91 00:04:19,857 --> 00:04:20,892