ในการเขียนลูปในภาษา AL เช่น for, while หรือ repeat-until บางครั้งเราอาจต้องการ ข้ามการทำงานของรอบนั้นทันที แล้วไปทำงานในรอบถัดไป โดยไม่ต้องหยุดลูปทั้งหมด ก่อนหน้านี้ ภาษา AL มีเพียง break ที่ใช้หยุดลูปทั้งหมด ซึ่งไม่ตอบโจทย์เมื่อต้องการเพียงแค่ข้ามรอบใดรอบหนึ่งเท่านั้น ใน Business Central 2025 Release Wave 1 ได้เพิ่มความสามารถให้สามารถใช้ continue เพื่อข้ามรอบปัจจุบันของลูป แล้วไปทำงานรอบถัดไปได้ทันที
รูปแบบการใช้งาน (Syntax)
for i := 1 to 10 do begin
if i = 5 then
continue;
Message('รอบที่ %1', i);
end;
Output: แสดงเลข 1 ถึง 10 ยกเว้นเลข 5 ซึ่งจะถูกข้าม
ตัวอย่างการใช้งาน
ตัวอย่างที่ 1: แสดงเฉพาะเลขคี่
procedure ShowOddNumbers()
var
i: Integer;
begin
for i := 1 to 10 do begin
if i mod 2 = 0 then
continue;
Message('เลขคี่: %1', i);
end;
end;
ข้ามเลขคู่ และแสดงเฉพาะเลขคี่ (1, 3, 5, 7, 9)
ตัวอย่างที่ 2: continue กับ repeat-until
procedure SkipCertainValue()
var
i: Integer;
begin
i := 0;
repeat
i += 1;
if i = 5 then
continue;
Message('ค่าปัจจุบัน: %1', i);
until i = 10;
end;
ค่าที่เป็น 5 จะถูกข้าม ไม่แสดงผล
สรุป (Summary)
continue เป็นฟีเจอร์ใหม่ในภาษา AL ที่ช่วยให้การเขียนลูปมีความยืดหยุ่นและอ่านง่ายมากขึ้น
สามารถข้ามรอบที่ไม่ต้องการ และไปทำงานในรอบถัดไปทันที เหมาะกับกรณีที่มีเงื่อนไขเฉพาะ เช่น ข้ามค่าว่าง, ข้ามค่าที่ไม่ผ่านการตรวจสอบ ฯลฯ
