Melepaskan Gelung Bersarang: Pendekatan Komprehensif
Gelung bersarang ialah binaan pengaturcaraan asas, tetapi keluar dari gelung bersarang mungkin mencabar. Dalam banyak bahasa, penyelesaian tradisional melibatkan membuang pengecualian, yang boleh membawa kepada kod yang tidak sedap dipandang. Walau bagaimanapun, terdapat kaedah yang lebih elegan yang tersedia.
Memperkenalkan Konstruk 'break' dan 'else'
Satu pendekatan ialah menggunakan 'break' dan 'else' membina. Pernyataan 'break' serta-merta keluar dari gelung paling dalam yang terkandung di dalamnya. Pernyataan 'lain', apabila diletakkan selepas gelung 'for', dilaksanakan hanya jika gelung selesai tanpa menemui 'break'.
Sebagai contoh, kod berikut terputus daripada gelung bersarang apabila hasil darab 'x' dan 'y' melebihi 50:
for x in range(10): for y in range(10): print(x * y) if x * y > 50: break else: continue # only executed if the inner loop did NOT break break # only executed if the inner loop DID break
Pendekatan ini mengelak daripada membuang pengecualian dan menyediakan struktur kod yang lebih bersih.
Sambungan kepada Gelung Lebih Dalam
Konstruk 'break' dan 'lain' berfungsi sama baik untuk gelung yang lebih dalam. Sebagai contoh, kod berikut terputus daripada gelung paling luar apabila hasil darab 'x', 'y' dan 'z' sama dengan 30:
for x in range(10): for y in range(10): for z in range(10): print(x, y, z) if (x * y * z) == 30: break else: continue # inner loop did NOT break break # inner loop DID break else: continue # middle loop did NOT break break # middle loop DID break
Penyelesaian elegan ini membolehkan kawalan tepat ke atas pelaksanaan gelung , mempertingkatkan kebolehbacaan dan kebolehselenggaraan kod anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memecahkan Gelung Bersarang dalam Kod Saya dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!