Tagapagsalita 1: Ipagpalagay na ngayon na gusto ko upang bigyan ang mga scratch ang kakayahang upang mang-uyam pati na rin. Well, sa aking unang instincts gagawin maging, tulad ng dati, upang makagawa ng isang bloke, tumawag ito bumahin. Tukuyin na nais kong tukuyin may isang numero kung gaano karaming beses Scratch dapat bumahin. Pagkatapos noon ng pag-click sa OK. Hayaan akong ilipat ito sa paglipas ng sa kanan upang mabigyan ang sarili ko ng ilang higit pang mga kuwarto. At pagkatapos ay hayaan mo akong muli pumunta sa Ulitin, override ang default na 10 may n. Hayaan akong pumunta sa sabihin nating pahayag at sabihing hindi "kumusta", ngunit "Achoo" para sa isang segundo. Pagkatapos ay tumagal ng kaunting ginhawa ng sandali ni. At na ito. Ngayon ba akong magkaroon ng isang bloke na tinatawag bumahin, pati na rin ang isang block na tinatawag na ubo. Kaya na ngayon kung gusto ko scratch sa ubo at bumahin, maaari ko lamang tukuyin ang isang mang-uyam sa ibaba ang kanyang ubo. Tatlong beses, sasabihin. I-click ang berdeng flag, at dapat kong makita sa katunayan, ubo, ubo, ubo. Sinunod ni achoo, achoo, achoo. Ang aking pinaka-makatotohanang sneezes sa petsa. Mapansin Ngayon isang bagay na masamang tungkol sa disenyo. Kahit na ako ay hindi talaga duplicate anumang piraso puzzle, ako Talagang nag-drag at bumaba kaakit-akit magkano ang parehong piraso puzzle, na nagbibigay sa ang isa function ng isang napaka bahagyang ibang pangalan kaysa sa isa, bumahin kumpara sa ubo. Kaya ito ay isang pagkakataon para sa factoring ang ilang mga karaniwang mga code. Sa katunayan, mapansin ang pagkakaiba lamang sa pagitan ng ubo at bahin ay isa na May scratch nagsasabing "ubo," ang iba pang kung saan nagsasabing "achoo." Kaya maaaring hindi namin kahit papaano ng tuntuning panlahat na ito code sa paraan na aming lamang tukuyin kung ano ang salita na gusto namin sa scratch upang manatili? At depende sa salitang iyon, ay ito mabisa maging isang ubo o ito ang magiging isang bumahin. Kaya sabihin sige at gawin ito. Hayaan ang gumawa ng isang third-andar at tawagan ang isang ito, "sasabihin." at ko ito nais na tanggapin, isang numero hindi lamang, ngunit oras na ito isang string, na kilala bilang isang salita o parirala. At ipapakita namin itawag sa "salita." At ano ang gusto kong sabihin? At kung gaano karaming beses gagawin ko nais na sabihin ang salitang ito? Well tumukoy ng isang numero ipaalam, pagtawag itong muli n. At lamang upang gawing mas sa block na ito nababasa, ipaalam sa akin sige at magdagdag ng isang tinatawag na label na "ulit." Kaya na kapag nag- basahin ang bloke mula kaliwa papuntang kanan, ito Literal na nagsasabing "sabihin salita n ulit." Ngayon ipaalam sa akin sige at i-click ang OK. At ngayon hayaan mo akong ipatupad sa block na ito, muli gamit ang isang umuulit na bloke. Ang pagtukoy na gusto ko ito upang ulitin n ulit. Ang pagtukoy na gusto kong sabihin isang bagay para sa isang segundo. Ngunit sa halip na isang bagay na hard code sa ito function, ipaalam sa halip ay i-drag at bitawan ang mga salita na Na-pumasang in Hayaan pagkatapos maghintay para sa isang segundo. At ngayon sabihin bumalik at pagbutihin ang aking mga pagpapatupad ng bahin at pag-ubo, kaya na tumawag sila na ito gumana naman. Kaya ni itapon ang code na ito ipaalam. Ni itapon ang code na ito Hayaan. Sabihin pumunta sa aking pasadyang bloke at i-drag sa "sabihin". At type ang mga argumento ng "ubo" ng tatlong beses. At pababa dito sabihin i-drag sa "sabihing," Tatlong beses "achoo". Kaya ngayon hayaan mo akong bumalik at pinuhin ang aking mga pagpapatupad ng ubo at bahin, sa paraan na ang dalawang mga function tumawag sa ikatlong function na ito, at sa gayon pagliit ng ang halaga ng mga dobleng code. Kaya sabihin literal magtapon ang code na ito ang layo. Magtapon ng ang code na ito ang layo Hayaan. At oras na ito, sabihin tukuyin ni lamang na ubo ay dapat na ipinatupad sa pamamagitan ng nagsasabing "ubo" ng ilang numero n ng beses. At katulad, maaari naming bumalik at muling ipatupad ang mang-uyam sa gayon ay ginagamit nito sabihin na may isang argument ng "achoo" n ulit. Kaya ano pa kami tapos? Kinikilala namin ang code na noon ay karaniwan sa parehong aming ubo at ang aming bumahin mga pag-andar, isinasali out ito sa isang bagong ikatlong function, at pagkatapos ay rewritten ubo at bahin sa naturang isang paraan na tumawag sila na ikatlong at bagong function. Ngayon ganap namin ginawa ito buo programa mas komplikado kaysa ito talaga kailangang maging. Pagkatapos ng lahat, sa pagtatapos ng araw, namin Kailangan lang scratch sa ubo nang tatlong beses at bumahin ng tatlong beses. At maaari kaming ginawa na may lamang ng ilang mga piraso palaisipan. Ngunit habang marami pang iba ang aming mga programa kumplikado, at ang aming mga programa nang higit pa sopistikadong, sa diskarteng ito ng factoring out karaniwang mga code, o hierarchical decomposing iyong programa sa mas maliit na function, ang bawat isa ay tumawag sa iba pang mga pag-andar, ay isang napaka- nakahihimok na pamamaraan. Dahil ito ay matiyak na ang iyong code, kahit na habang ito ay makakakuha ng mas kumplikado, na labi madaling i-update at din masyadong nababasa. Sa katunayan, isaalang-alang ang resulta. Kapag ang berdeng bandila ay na-click, ubo tatlong beses, bumahin ng tatlong beses. At na ito. Sa katunayan, ay gawin eksakto na ipaalam. I-click ang berdeng bandila at kumuha kami ng isa ubo, dalawang coughs, tatlo coughs. Sinunod ni, umaasa kami, sa sandaling bumahin, dalawang sneezes, at isang third bumahin. Sana ay mas mahusay na nakakakuha siya sa lalong madaling panahon.