>> SPEAKER 1 Katakan sekarang bahawa saya mahu untuk memberi Scratch keupayaan
bersin juga.
Nah, naluri pertama saya akan menjadi, seperti sebelum ini, untuk membuat
blok, memanggil bersin ini.
Menentukan bahawa saya ingin nyatakan dengan sejumlah berapa kali
Scratch perlu bersin.
Selepas itu klik OK.
Izinkan saya beralih ini ke kanan untuk memberikan diri saya beberapa lebih banyak ruang.
>> Dan maka biarlah saya sekali lagi pergi ke Ulang, mengatasi lalai 10 dengan n.
Biar saya pergi ke penyata kata dan berkata tidak "hello", tetapi
"Achoo" untuk satu kedua.
Kemudian mengambil tempoh kepadaku saat.
Dan itu sahaja.
>> Sekarang saya mempunyai blok yang dipanggil bersin, serta blok yang dipanggil batuk.
Jadi kini jika saya mahu Scratch batuk dan bersin, saya hanya boleh menentukan
bersin bawah batuknya.
Tiga kali, berkata.
Klik bendera hijau, dan saya perlu melihat sesungguhnya, batuk, batuk, batuk.
Diikuti dengan achoo, achoo, achoo.
Saya bersin paling realistik setakat ini.
>> Sekarang notis sesuatu yang buruk tentang reka bentuk ini.
Walaupun saya tidak salinan secara terang-terangan mana-mana kepingan teka-teki, saya
pasti mengheret dan jatuh cantik banyak kepingan teka-teki sama, memberi
fungsi satu yang sentiasa jadi sedikit nama yang berbeza daripada yang lain, bersin
berbanding batuk.
Jadi ini adalah satu peluang untuk pemfaktoran beberapa kod yang sama.
Malah, notis perbezaan hanya antara batuk dan bersin adalah salah satu yang
mempunyai Scratch kata "batuk," yang lain yang mana berkata "achoo."
>> Jadi tidak dapat kita entah bagaimana umum ini kod dalam apa-apa cara yang kita hanya
nyatakan apa perkataan yang kita mahu untuk Scratch tinggal?
Dan bergantung kepada perkataan itu, ia akan berkesan menjadi batuk atau
ia akan bersin.
Jadi mari kita pergi ke hadapan dan melakukan ini.
Mari kita membuat fungsi ketiga dan panggilan satu ini, "katakan." dan saya mahu ia
menerima, bukan hanya nombor, tetapi kali ini rentetan, atau dikenali sebagai
perkataan atau frasa.
>> And we'll call this "word."
Dan berapa kali saya mahu mengatakan perkataan ini?
Nah mari kita menentukan nombor, memanggil sekali lagi n.
Dan hanya untuk blok ini lebih dibaca, saya teruskan dan menambah
label yang dikenali sebagai "masa." Supaya apabila anda membaca blok ini dari kiri ke kanan, ia
beribu-kata "mengatakan perkataan n kali."
>> Sekarang saya teruskan dan klik OK.
Dan sekarang mari saya melaksanakan blok ini, sekali lagi menggunakan satu blok berulang.
Menyatakan yang saya mahu ia mengulangi n kali.
Menyatakan bahawa saya mahu mengatakan sesuatu untuk satu saat.
Tetapi bukannya sesuatu yang keras dikodkan ke dalam fungsi ini, mari kita bukannya drag
dan menggugurkan perkataan itu diluluskan masuk
Mari kita kemudian tunggu satu saat.
Jadi sekarang biarlah saya kembali dan memperbaiki saya pelaksanaan batuk dan bersin,
dalam apa-apa cara yang kedua-dua fungsi memanggil fungsi ketiga ini, dengan itu
meminimumkan amaun yang daripada salinan kod.
Jadi mari kita betul-betul membuang kod ini jauh.
Mari kita membuang kod ini jauh.
Dan kali ini, mari kita hanya menentukan bahawa batuk perlu dilaksanakan oleh
berkata "batuk" beberapa nombor n kali.
>> Begitu juga, kita boleh kembali dan melaksanakan semula bersin supaya ia menggunakan
mengatakan dengan hujah daripada "achoo" n kali.
Jadi apa yang kita lakukan?
Kami telah diiktiraf kod yang biasa untuk kedua-dua batuk dan kami kami
bersin fungsi, kira ia keluar ke fungsi ketiga baru, dan kemudian
batuk dan bersin ditulis semula dalam apa-apa cara yang mereka memanggil bahawa
Fungsi ketiga dan baru.
>> Sekarang kita telah benar-benar dibuat keseluruhan ini program yang lebih rumit daripada ia
benar-benar perlu.
Lagipun, pada akhir hari, kita hanya perlu Scratch batuk tiga kali
dan bersin tiga kali.
Dan kami boleh melakukan yang dengan hanya beberapa keping teka-teki.
Tetapi sebagai program kami mendapat lebih rumit, dan program-program kita lebih
canggih, teknik ini memfaktorkan kod biasa, atau
hierarki menguraikan program anda ke dalam fungsi yang lebih kecil, di mana setiap satu
memanggil fungsi lain, adalah sangat teknik menarik.
Kerana ia akan memastikan bahawa kod anda, walaupun kerana mendapat lebih kompleks, masih
mudah untuk mengemas kini dan juga sangat boleh dibaca.
>> Sesungguhnya, mempertimbangkan hasil akhir.
Apabila bendera hijau diklik, batuk tiga kali, bersin tiga kali.
Dan itu sahaja.
Malah, mari kita buat betul-betul itu.
Klik bendera hijau dan kami mendapat satu batuk, batuk dua, tiga batuk.
Diikuti oleh, kami berharap, sekali bersin, dua bersin dan bersin ketiga.
Berharap dia mendapat yang lebih baik tidak lama lagi.