PΩtla do..while zachowuje siΩ bardzo podobnie do pΩtli while, z wyj▒tkiem tego, ┐e warto╢µ wyra┐enia logicznego sprawdzana jest na ko±cu iteracji, a nie na pocz▒tku. Wynikaj▒c▒ z tego g│≤wn▒ r≤┐nic▒ jest to, ┐e pierwsza iteracja w pΩtli do..while na pewno zostanie wykonana (gdy┐ wyra┐enie logiczne bΩdzie sprawdzone dopiero na koniec iteracji). Natomiast w pΩtli while, gdzie wyra┐enie logiczne jest sprawdzane na pocz▒tku iteracji, mo┐e doj╢µ do sytuacji, ┐e pΩtla w og≤le nie zostanie wykonana, je╢li to wyra┐enie bΩdzie mia│o warto╢µ FALSE od pocz▒tku.
PΩtla do..while ma tylko jeden rodzaj sk│adni:
Powy┐sza pΩtla zostanie wykonana tylko raz, gdy┐ po pierwszej iteracji, warto╢µ wyra┐enia logicznego wynosiµ bΩdzie FALSE ($i nie jest wiΩksze od 0) i pΩtla zostanie zako±czona.
Zaawansowani programi╢ci C s▒ zaznajomieni z innym wykorzystaniem pΩtli do..while, kt≤re s│u┐y do przerwania wykonywania bloku instrukcji w okre╢lonym momencie przez u┐ycie do..while(0) i instrukcji break. Demonstruje to poni┐szy kod:
do { if ($i < 5) { print "i jest za ma│e"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } print "i jest w porz▒dku"; ...operacje na i... } while(0); |
Nie przejmuj siΩ, je╢li nie rozumiesz tego do ko±ca lub w og≤le. Mo┐esz tworzyµ skrypty, nawet zaawansowane skrypty bez u┐ycia tego "mechanizmu".