PROGRAM OLARAK LİSTELER Yukarda kullandığımız REPEAT 4 (FORWARD 5ü RIĞGHT 90) komut ve listesini KARE işlemini tanımlar- ken kullanmıştık. Yine aynı komut ve listeden yararla- narak, başka bir yoldan da kare çizdirebiliriz. Şöyle ki, İFORWARD SORIĞHT 90)| listesini bir nesnenin içeriği olarak tanımlayabiliriz. Nesnenin ismi L1 olsun: ?MAKE “LI (FORWARD 50 RİGHT 90) ?REPEAT 4: Li; BURADA BİR KARE ÇİZER *LI RESULT: (FORWARD 50 RIGHT 90) ? LOGO TEKRARLA komutuyla karşı karşıya geldiğin- de, L1'in kapsamını, oradaki liste bir dizi komuttan oluş- muş gibi işleme koyar. L1 nesnesinin kapsamı karenin bir kenarını çizmek için verilmiş komut listesidir. Adım adım ilerlemeye çalışalım: ?DRAW REPEAT 1: LI; bir kenar çizilir İRUN: LI; bir kenar çizilir ) Karenin iki kenarı çizilmiş oldu. Bir kenarı REPEATI işleminin diğeri RUN işleminin sonucunda. Böylece, LO- GÖ komutu olan RUN sonucunun REPEAT 1'le aynı olduğunu görmüş olduk. RUN komutu, izleyen listenin kapsamını, liste program komutlarını kapsıyormuş gibi işleme koyar. TO KARE :KENAR REPEAT 4 (FD :KENAR RT 90) END 58 Commodore KARE işlemini aşağıdaki şeylerle birlikte kullanırsak, ?MAKE “L2 80 ?MAKE “L3 (KARE :L2)| ?RUN: L3; 9 kenar uzunluğu 80 olan bir kare çizilmiş olur. Ne olup bittiğini daha yakından izlemek için, bir başka LOGO komutu olan TRACE'yi kullanabiliriz: ?TRACE RUN :L3 TRACE ON EXECUTING KARE 80 REPEAT 4 (|FD :KENAR RT 90) ENDİNG KARE 9 Böylece, LOGO ilk kez RUN :L3 ile karşılaştığında, L3'ü listeyi kapsayacak şekilde genişletir (KARE :L2). KARE işlemin adı olarak bilinir ve LOGO :L2'yi 80 sa- * yısını alacak şekilde genişletir. Sonuçta, RUN edilecek liste (KARE 80) olarak alınır. Bu uzatma TRACE ko- mutunun ilk satırını açıklar. İşlemin yürürlüğe girmesinde (TRACE'nin ikinci sa- tırı) :KENAR parametresi 80 olarak alınır ve kare 80 ola- rak çizilir. Bu aşamada izleme işi, (bir tuşa basılmasını beklemek üzere) durur. (Turtle IZLE'de kaybolur ve tu- şa basınca yeniden görülür.) Yeniden göründüğünde turt- le'ı incelerseniz, çalışmasını sağlamanız için beklediğini farkedersiniz.