Instrukcja If-Then-Else w kodzie Delphi
Początkujący programiści Delphi powinni uważać na pułapki „jeśli-to-inaczej”
Getty Images/Degui Adil/EyeEm
W Delfy , instrukcja if służy do testowania a stan a następnie wykonaj sekcje kodu w zależności od tego, czy ten warunek ma wartość Prawda czy Fałsz.
Ogólna instrukcja if-then-else wygląda tak:
|_+_||_+_|
Zarówno „prawdziwy blok”, jak i „fałszywy blok” mogą być prostą instrukcją lub instrukcją ustrukturyzowaną (otoczoną parą początek-koniec).
Przykład zagnieżdżonej instrukcji If-Then-Else
Rozważmy jeden przykład z użyciem zagnieżdżonych instrukcji if:
|_+_||_+_|
Jaka będzie wartość „Kation”? Odpowiedź: „Liczba jest UJEMNA!” Nie spodziewałeś się tego?
Zauważ, że kompilator nie uwzględnia Twojego formatowania, mogłeś napisać powyższe jako:
|_+_||_+_|lub nawet jako (wszystko w jednej linii):
|_+_||_+_|Znak ';' oznacza koniec oświadczenia.
Kompilator odczyta powyższe oświadczenie jako:
|_+_||_+_|a dokładniej:
|_+_||_+_|
Nasze oświadczenie ELSE będzie interpretowane jako część „wewnętrznej” instrukcji IF. Instrukcja 'inner' jest instrukcją zamkniętą i nie wymaga BEGIN..ELSE.
Jak naprawić
Aby upewnić się, że wiesz, jak zagnieżdżone instrukcje if są traktowane przez kompilator, i naprawić powyższy „problem”, możesz napisać początkową wersję jako:
|_+_||_+_|
Uch! Brzydkie „inne” kończy zagnieżdżoną linię jeśli!? Kompiluje się, działa!
Najlepszym rozwiązaniem jest: zawsze używaj par początek-koniec z zagnieżdżonymi instrukcjami if:
|_+_||_+_|
Za dużo par początek-koniec? Lepiej dmuchać na zimne. W każdym razie szablony kodu są zaprojektowane tak, aby dodawać do kodu źródłowego powszechnie używane struktury szkieletowe, a następnie je wypełniać.
Artykuł przedstawiony przez Marcusa Junglas