Playbook pemeriksaan koneksi

Dokumen ini menunjukkan cara menggunakan pemeriksaan koneksi.

Contoh nilai

Saat menentukan pemeriksaan koneksi untuk input dan output, biasanya Anda harus menganggap pemeriksaan tersebut mewakili jenis.

Pemeriksaan input harus menyertakan setiap "jenis" yang diterima, dan pemeriksaan output harus menyertakan persis apa yang "ditampilkan".

Menerima satu jenis

Dalam kasus paling dasar saat Anda ingin membuat blok yang "menerima" atau "menampilkan" satu jenis, Anda harus menyertakan jenis tersebut dalam pemeriksaan koneksi koneksi.

blok nilai yang menerima satu jenis

Menerima beberapa jenis

Untuk membuat blok yang "menerima" beberapa jenis, Anda harus menyertakan setiap jenis yang diterima dalam pemeriksaan koneksi input.

blok nilai yang menerima beberapa jenis

Secara konvensional, jika output terkadang dapat diterima dalam beberapa situasi (misalnya, jika Anda mengizinkan angka untuk terkadang digunakan sebagai string), output harus lebih ketat, dan input harus lebih permisif. Konvensi ini memastikan output tidak terhubung jika tidak didukung.

Menerima semua jenis

Untuk membuat blok yang "menerima" jenis apa pun, Anda harus menetapkan pemeriksaan koneksi input ke null.

blok nilai yang menerima jenis apa pun

Menampilkan subjenis

Untuk membuat blok yang "menampilkan" subjenis, Anda harus menyertakan jenis dan superjenis dalam pemeriksaan koneksi output.

blok nilai yang menampilkan jenis dan supertipenya

Dalam kasus subjenis, Anda dapat memiliki beberapa pemeriksaan dalam pemeriksaan output, karena blok selalu "menampilkan" kedua jenis tersebut.

Menampilkan jenis berparameter

Untuk membuat blok yang "menampilkan" jenis berparameter, Anda harus menyertakan versi berparameter dan versi tanpa parameter dalam pemeriksaan koneksi output.

Bergantung pada seberapa ketat Anda ingin bahasa pemblokiran, Anda juga dapat menyertakan varian jenis.

blok nilai yang menampilkan jenis berparameter dan jenis tanpa parameternya

Sama seperti subjenis, dalam hal ini, Anda dapat memiliki beberapa pemeriksaan dalam pemeriksaan output karena blok selalu "menampilkan" kedua jenis tersebut.

Contoh stack atau pernyataan

Ada beberapa cara umum yang digunakan developer untuk menentukan pemeriksaan koneksi sebelumnya dan berikutnya. Biasanya, Anda menganggapnya sebagai pembatasan pengurutan blok.

Koneksi berikutnya harus menyertakan blok yang harus mengikuti blok saat ini, dan koneksi sebelumnya menyertakan "isi" blok saat ini.

Mempertahankan urutan blok

Untuk membuat kumpulan blok yang terhubung dalam urutan yang ditentukan, Anda harus menyertakan blok mana yang harus mengikuti blok saat ini dalam pemeriksaan koneksi berikutnya, dan "adalah" blok saat ini dalam pemeriksaan koneksi sebelumnya.

blok pernyataan yang memiliki urutan paksa

Mengizinkan banyak blok tengah

Untuk membuat kumpulan blok urut yang mengizinkan banyak blok tengah, Anda harus menyertakan setidaknya satu entri dari pemeriksaan koneksi sebelumnya di blok tengah dalam pemeriksaan koneksi berikutnya di blok tengah. Hal ini memungkinkan blok diikuti oleh lebih banyak blok.

blok pernyataan yang mengizinkan banyak blok tengah

Tidak mengizinkan blok tengah

Untuk membuat kumpulan blok yang diurutkan dengan blok tengah bersifat opsional, Anda perlu menyertakan minimal satu entri dari pemeriksaan koneksi sebelumnya blok tengah, dan pemeriksaan koneksi sebelumnya blok terakhir dalam pemeriksaan koneksi berikutnya blok pertama. Hal ini memungkinkan blok pertama diikuti oleh blok tengah atau blok terakhir.

blok pernyataan yang tidak mengizinkan blok tengah

Stack salah satu atau keduanya

Untuk membuat blok yang hanya dapat diikuti oleh blok dari satu grup, atau blok dari grup lain (dan bukan keduanya), Anda perlu melakukan dua hal:

  1. Anda harus menyertakan setidaknya satu entri dari kedua grup pemeriksaan koneksi sebelumnya dalam pemeriksaan koneksi berikutnya di blok pertama.

  2. Anda perlu menentukan pemeriksaan koneksi berikutnya grup agar hanya menyertakan nilai yang ada dalam pemeriksaan koneksi sebelumnya (sehingga hanya dapat diikuti oleh blok dari grup yang sama).

blok pernyataan yang dapat diikuti oleh beberapa jenis blok, atau
beberapa blok lainnya, tetapi tidak keduanya