Pertanyaan yang diberi tag «continuation»

2
Y combinator dan optimisasi panggilan ekor
Definisi kombinator Y dalam F # adalah let rec y f x = f (y f) x f berharap sebagai argumen pertama beberapa kelanjutan untuk subproblem rekursif. Menggunakan yf sebagai kelanjutan, kita melihat bahwa f akan diterapkan pada panggilan yang berurutan yang dapat kita kembangkan let y f x = …

3
Manakah alternatif untuk menggunakan tumpukan untuk mewakili semantik panggilan fungsi?
Kita semua tahu dan suka bahwa panggilan fungsi biasanya diimplementasikan menggunakan stack; ada bingkai, alamat pengirim, parameter, seluruh lot. Namun, stack adalah detail implementasi: konvensi pemanggilan dapat melakukan hal yang berbeda (mis. X86 menggunakan panggilan cepat (beberapa) register, MIPS dan pengikut menggunakan register windows, dan sebagainya) dan optimisasi dapat melakukan …

2
Apa contoh kelanjutan yang tidak diterapkan sebagai prosedur?
Diskusi yang menarik tentang perbedaan antara callback dan kelanjutan pada SO telah mendorong pertanyaan ini. Menurut definisi, kelanjutan adalah representasi abstrak dari logika yang diperlukan untuk menyelesaikan perhitungan. Dalam sebagian besar bahasa, ini bermanifestasi sebagai prosedur satu argumen yang Anda berikan nilai apa pun yang perlu diproses lebih lanjut. Dalam …

1
Apakah kelanjutan kelas satu berguna dalam bahasa pemrograman berorientasi objek modern?
Lanjutan sangat berguna dalam bahasa pemrograman fungsional (misalnya Contmonad di Haskell) karena memungkinkan notasi sederhana dan teratur untuk kode gaya imperatif. Mereka juga berguna dalam beberapa bahasa imperatif lama karena mereka dapat digunakan untuk mengimplementasikan fitur bahasa yang hilang (mis. Pengecualian, coroutine, utas hijau). Tetapi untuk bahasa berorientasi objek modern …


7
Praktik terbaik untuk "melanjutkan" dari dalam lingkaran bersarang?
Berikut adalah contoh yang disederhanakan. Pada dasarnya, ia memeriksa string dari daftar string. Jika cek lolos, itu akan menghapus string itu ( filterStringOut(i);), dan tidak perlu lagi melanjutkan pemeriksaan lainnya. Demikian continueke string selanjutnya. void ParsingTools::filterStrings(QStringList &sl) { /* Filter string list */ QString s; for (int i=0; i<sl.length(); i++) …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.