ใช้ RESUME เดียวสำหรับ INTERCAL-72 ทุกรูปแบบหากมีการวางโครงสร้าง
หากคุณต้องการที่จะเขียนเทียบเท่าของ "ถ้า" คำสั่งวิธีการปกติใช้ INTERCAL-72 รหัสคือการสองครั้งแล้วทำคำนวณNEXT
RESUME
(ในรหัสที่ทันสมัยมักจะคำนวณได้COME FROM
จะดีกว่า แต่เคล็ดลับนี้ถือว่ารหัสของคุณชอบNEXT
) คุณเกือบจะต้องจ่ายไบต์เป็นครั้งแรกNEXT
ในขณะที่มันกระโดดจากสาขาหนึ่งของ "ถ้า" ไปที่อื่น การแบ่งปันที่สองNEXT
ยังเป็นขี้ปะติ๋วเว้นแต่คุณจะมีจำนวนมาก "ถ้า" #1
งบที่ไปที่สถานที่เดียวกันเมื่อเห็นเป็น อย่างไรก็ตามRESUME
สามารถอยู่ที่ใดก็ได้ในโปรแกรม (เนื่องจากการควบคุมกำลังจะออกจากที่ใดก็ได้)
มีสองวิธีในการจัดการกับสิ่งนี้ หากคุณมีคำสั่ง "if" จำนวนมากดังนั้นผู้ที่RESUME
อาจรับรองหมายเลขบรรทัดหลักเดียวเพื่อให้NEXT
คำสั่งที่สองของคุณสั้นที่สุดเท่าที่จะทำได้ หากเป็นไปได้พยายามทำให้มันคำนวณRESUME
ที่จะเกิดขึ้นตามธรรมชาติในโค้ดของคุณ (เป็นที่ยอมรับว่าเป็นเรื่องยากเนื่องจากเป็นเรื่องยากที่จะปรากฏในโค้ด "โฟลว์ปกติ" แทนที่จะเป็นNEXT
ed) ดังนั้นราคาเพียงอย่างเดียวคือหมายเลขบรรทัด คุณจะต้องใช้ตัวแปรบูลเดียวสำหรับทุกเหล่าNEXT
s; ฉันทามติสากลที่นี่คือการใช้.5
ส่วนใหญ่เพราะมันเป็นตัวแปรที่ห้องสมุดมาตรฐานใช้สำหรับค่าตอบแทนบูลีน
อีกวิธีหนึ่งก็เป็นไปได้ที่จะใช้ประโยชน์จากเอกสารที่ไม่มีเอกสาร (underdocumented ทางเทคนิคเพราะฉันเล็ดลอดลงในเอกสาร INTERCAL เมื่อฉันสังเกตเห็น) ของห้องสมุดมาตรฐาน เนื่องจากตำแหน่งศูนย์กลางสำหรับ a RESUME
มีประโยชน์ดังนั้นไลบรารีมาตรฐานจึงใช้หนึ่งภายใน หมายเลขบรรทัดใน INTERCAL อยู่ทั่วโลก (กับ namespacing ประชุม แต่ที่สามารถหักถ้าคุณรู้ว่าสิ่งที่คุณทำ) เพื่อให้คุณสามารถNEXT
ขวาเข้า internals ห้องสมุดมาตรฐานถ้าคุณต้องการและโดยเฉพาะอย่างยิ่งความสามารถNEXT
ในการของสถานที่ตั้งที่อยู่ใจกลางเมือง RESUME . สิ่งนี้ได้รับความนิยมอย่างมากในรหัส INTERCAL ที่มีอยู่ซึ่งการแทนที่ไลบรารีมาตรฐานมักจะต้องนำไปใช้เพื่อหลีกเลี่ยงการทำลายโปรแกรมที่มีอยู่
บรรทัดคำถามคือ (อย่างแท้จริงหรือมีประสิทธิภาพขึ้นอยู่กับการใช้งาน):
(1001) DO RESUME .5
เหตุผลหลักที่จะไม่ใช้นี่คือหมายเลขบรรทัดที่ยาว ถ้าคุณต้องการทำ INTERCAL-72 สไตล์จำนวนมากถ้าสร้างมันจะเป็นการดีกว่าถ้าคุณใช้ของคุณเองเพื่อให้ตัวเลขนั้นสั้นลง
แน่นอนคุณสามารถรวมเทคนิคการเขียนบางอย่างเช่น
(9)DO(1001)NEXT
ซึ่งมีความยาวเพียงเล็กน้อยเท่านั้น
(9)DORESUME.5
และมีประโยชน์ที่บูลีนจะกลายเป็น#2
และ#3
(ซึ่งยากต่อการอ่าน แต่โดยทั่วไปจะสร้างได้ง่ายกว่า) ที่จริงแล้วมันอาจจะคุ้มค่าที่จะใส่รหัสพิเศษในการจัดการ#0
และ#1
ถ้าคุณจะต้องใช้จำนวนมาก (แต่การคำนวณCOME FROM
อาจจะทำงานได้ดีขึ้นในกรณีนี้เว้นแต่ความต้องการของคุณจะแปลกมาก)