>> SPEAKER 1: Misalkan sekarang bahwa aku ingin untuk memberikan Scratch kemampuan
bersin juga.
Nah, naluri pertama saya akan menjadi, seperti sebelumnya, untuk membuat
blok, sebut bersin ini.
Tentukan bahwa saya ingin menentukan dengan angka berapa kali
Scratch harus bersin.
Setelah itu klik OK.
Biarkan aku pindah ini ke kanan untuk memberi diriku beberapa ruang lagi.
>> Dan kemudian membiarkan saya lagi pergi ke Ulangi, override default 10 dengan n.
Biarkan aku pergi ke pernyataan mengatakan dan janganlah kamu mengatakan "hello", tetapi
"Achoo" untuk satu detik.
Kemudian mengambil istirahat sejenak.
Dan itu saja.
>> Sekarang saya memiliki blok yang disebut bersin, serta blok yang disebut batuk.
Sehingga jika saya ingin Gores batuk dan bersin, saya hanya dapat menentukan
bersin bawah batuknya.
Tiga kali, katakan.
Klik bendera hijau, dan aku harus lihat memang, batuk, batuk, batuk.
Diikuti oleh Achoo, Achoo, Achoo.
Bersin paling realistis saya sampai saat ini.
>> Sekarang perhatikan sesuatu yang buruk tentang desain ini.
Meskipun saya tidak duplikat langsung setiap potongan puzzle, saya
pasti menyeret dan menjatuhkan cantik banyak potongan-potongan teka-teki yang sama, memberikan
satu fungsi yang pernah jadi sedikit nama yang berbeda dari yang lain, bersin
dibandingkan batuk.
Jadi ini adalah kesempatan bagi anjak beberapa kode umum.
Memang, melihat satu-satunya perbedaan antara batuk dan bersin adalah salah satu yang
memiliki Scratch pepatah "batuk," kata lain yang mengatakan "Achoo."
>> Jadi tidak bisa kita entah bagaimana generalisasi ini kode sedemikian rupa sehingga kita hanya
menentukan apa kata kita inginkan untuk Gores untuk tinggal?
Dan tergantung pada kata itu, itu akan efektif menjadi batuk atau
itu akan menjadi bersin.
Jadi mari kita pergi ke depan dan melakukan hal ini.
Mari kita membuat fungsi ketiga dan panggilan yang satu ini, "katakan." dan saya ingin
menerima, bukan hanya nomor, tapi kali ini string, atau dikenal sebagai
kata atau frase.
>> And we'll call this "word."
Dan berapa kali saya ingin mengatakan kata ini?
Nah mari kita tentukan nomor, menyebutnya lagi n.
Dan hanya untuk membuat blok ini lebih dibaca, biarkan aku pergi ke depan dan menambahkan
label yang disebut "kali." Sehingga bila Anda membaca blok ini dari kiri ke kanan, itu
harfiah mengatakan "mengucapkan kata n kali."
>> Sekarang biarkan aku pergi ke depan dan klik OK.
Dan sekarang biarkan aku menerapkan blok ini, lagi menggunakan blok ulangi.
Menentukan bahwa saya ingin untuk mengulangi n kali.
Menentukan bahwa saya ingin mengatakan sesuatu untuk satu detik.
Namun, bukannya sesuatu yang sulit kode ke dalam fungsi ini, mari kita malah seret
dan drop kata yang telah berlalu masuk
Mari kita kemudian menunggu selama satu detik.
Jadi sekarang biarkan aku kembali dan memperbaiki saya implementasi dari batuk dan bersin,
sedemikian rupa bahwa kedua fungsi memanggil fungsi ketiga ini, sehingga
meminimalkan jumlah dari duplikat kode.
Jadi mari kita benar-benar melemparkan kode ini pergi.
Mari kita membuang kode ini pergi.
Dan kali ini, mari kita hanya menentukan bahwa batuk harus dilaksanakan oleh
mengatakan "batuk" beberapa nomor n kali.
>> Dan juga, bisa kita kembali dan kembali menerapkan bersin sehingga menggunakan
mengatakan dengan argumen dari "Achoo" n kali.
Jadi apa yang kita lakukan?
Kami telah diakui kode yang sama untuk kedua batuk dan kami kami
bersin fungsi, faktor itu menjadi fungsi ketiga baru, dan kemudian
ditulis ulang batuk dan bersin sedemikian dengan cara yang mereka sebut itu
Fungsi ketiga dan baru.
>> Sekarang kita telah benar-benar membuat seluruh ini program yang lebih rumit dari yang
benar-benar perlu.
Setelah semua, pada akhir hari, kita hanya perlu Scratch batuk tiga kali
dan bersin tiga kali.
Dan kita bisa melakukan itu dengan hanya beberapa potongan puzzle.
Tapi seperti program kami mendapatkan lebih banyak rumit, dan program kita lebih
canggih, teknik ini anjak keluar kode umum, atau
hirarkis membusuk program Anda ke dalam fungsi yang lebih kecil, yang masing-masing
memanggil fungsi-fungsi lainnya, adalah sangat teknik menarik.
Karena akan memastikan bahwa kode Anda, bahkan karena mendapat lebih kompleks, sisa-sisa
mudah untuk memperbarui dan juga sangat mudah dibaca.
>> Memang, mempertimbangkan hasil akhir.
Ketika bendera hijau diklik, batuk tiga kali, bersin tiga kali.
Dan itu saja.
Bahkan, mari kita melakukan hal itu.
Klik bendera hijau dan kami mendapatkan satu batuk, batuk dua, tiga batuk.
Diikuti oleh, kami berharap, sekali bersin, dua bersin, dan bersin ketiga.
Berharap dia akan lebih baik segera.