Bu sayfadaki yazılar
Sayfanın metni
Sayfa 18
S öpen dersek ARexx'in tanımadığı emirler (burada “open') Cygnus Ed adlı editöre (eğer hafızada ise) gidecektir. Burada Cygnus Ed'e 's:startup-seadlı dosyayı yüklemesini söylüyoruz. Gördüğünüz gibi burada iki ayrı türde tırnak işaretini rastgele kullandik. Yukarıda da söylediğim gibi ARexx bu konuda gayet esnek davranıyor. Yazı boyun: ca ARexx ile Cygnus Ed'i kontrol etmenin yollarını sık sık Örnekler arasında göstereceğim. Cygnus Ed'in tanıdığı komutların bir listesini ise daha sonra vereceğim. Eğer sadece
ADDRESS dersek, son adress komutundan önce geçerli olan host tekrar geçerli olacaktır. yanında
Bunun
'e bir dosyayı yükleme emri verirken, o sıtada kararlaştırılmış olan genel host'u değiştirmez, sadece bir tek emri o host'a gönderir.
ADDRESS COMMAND list
Diyerek de bir emrin Amiga- DOS'a gönderilmesini sağlayabiliriz. Burada 'list' e gaDOS'a gönderiyor. den “rx program' diyerek ğırırsanız, normal komutunun sonucu ile karşılaşırsınız. Bir host'a emir yollarken dikkat edilmesi gereken önemli bir husus vardır. Eğer aynı adlı bir ARexx emri varsa, verdiğiniz emir ARexx tarafından işlenecektir. host ise bu emirden haberdar olmayacaktır. Verdiğiniz emirlerin doğrudan doğruya host'a gitmesini yorsanız, bunları tırnak içine almalışınız. Örneğin
ESS rexx-ced'
derseniz, Oygnus Ed'in hafızadan çıkmasını sağlayabilir siniz. Ancak bunun yerine
ADDRESS 'rexxc-ced' quit
Derseniz, Cygnus Ed yine hafizada kalmaya devam edecektir, çünkü 'auit' aynı zamanda bir ARexx komutudur. ve işlemekte olan program: dan çıkışı sağlamaktadır.
PULL
Daha önce görmüş olduğumuz SAY emri, ekrana (Daha doğrusu Shell penceresine) bir yazı yazmayı sağlıyordu. PULL emir de kullanıcıdan bir yazı almayı sağlıyor. (BASIC'teki İNPUT gibi). Örneğin:
SAY “Adınız ne?” PULL isim SAY “Adınız” * “isim” * imiş.”
derseniz, program yazıp EN-TER'e basarak verdiğiniz ismi, doğru anladığını kanıtlamak için tekrar yazacaktır. Örneğin isim olarak Berktan yazdığınız: da programın cevabı
Adınız 'Berktan' imiş olacaktır. Burada tek ve çift tırnakların kullanılışına dikkat edin. SAY emrinden sonra çitf tırnak ile başladığımız için, aradaki tek tırnak işareti ekra: na yazılacak yazının bir parçası olarak algılanmıştır.
CALL
Bir ARexx alt programını veya bir emri bir fonksiyon olarak çağırmaya yarar. Fonksiyon çağırmak iki türlü yapılabilir:
CALL test p1,p2, sonuç result veya sonuç — test (p1,p2....)
Tek fark, ikinci yazım türünde eğer fonksiyon geriye bir değer vermezse, ARexx “Function did not return value” diye hata verir ve programın işleyişi durur. Halbuki ilk yöntemde eğer fonksiyon bir değer vermezse, demekle sonuç adlı değişkene değeri verilecektir. Yani değer verilmemiş değişkenlere yapıldığı gibi yazılan string sabitin harfe çevrilip kullanılacaktır.
olarak
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 19
DO ve END
Bu emir, bir ya da daha fazla emirden oluşacak bir emir grubunun başlangıç ve bitişini belirtirler. Pascal'daki BEGIN ve END ve C'de kullanılan küme parantezleri { } gibi kullanılırlar. Bir IF karşılaştırmasından sonra veya bir tekrarlama, döngü yazarken kullanılırlar. Kullanımlarını örneklerle anlatmak daha iyi olur: Diğer dillerdeki FOR döngüsünü sağlamak için
DOiz1 TO 10 SAY i END
diyebiliriz. Eğer i değişkeninin birer birer değil de farklı bir hızda değişmesini istersek, bunu ardından BY diyerek belirtebiliriz. Örneğin büyük bir sayıdan küçük bir sayıya doğru sayarken bu gereklidir, yoksa tekrarlama yapılmaz.
DO iz20 TO 10 BY-2 SAY “altı kez yazılacak” END
Eğer indeks değişkenine (yukarıdaki i gibi) ihtiyacınız yoksa, sadece,
DO FOR 10 SAY “on kez yazılacak” END
diyebilirsiniz. FOR belirtecini diğer belirteçlerle kullanmak mümkün.
DO FOR 5 UNTİL cevap-”N” SAY “devam etmek istiyor mu- sunuz (YAN)?” PULL cevap END
Bu emir bloğu en fazla toplam 5 defa soru sorulacaktır. Ama verilen cevap (NO anlamında) 'n' veya 'N' olursa beş defa tekrarlamayı beklemeden döngüden çıkacaktır (Hatırlayın, sadece tek eşittir işareti büyük-küçük harf ayrımı gözetmeden karşılaştırma yapıyordu!). Eğer bir program kısmının tekrarlama emrine belli bir şart yazmak istemiyorsanız, FOREVER (daima) belirtecini kullanabilirsiniz. Bu durumda döngüden çıkmak için BREAK veya LEAVE emirlerini kullanmanız gerekir, yoksa programınız (CTRL-C tuşları ile durdurulana kadar) sonsuz döngüye girer. Yukarıdaki örneği bu kez FOREVER ile yazalım.
tekrar-0 DO FOREVER teki 1 SAY “devam etmek istiyor mu- sunuz (YAN)?” PULL cevap THEN BREAK END
Başka bir imkan da şudur. Burada döngü, WHILE'ın arkasından verilen koşul doğru olduğu sürece tekrarlanır:
1* Bir sayı kaç defa ikiye bölü- nebilir? */ PULL sayı DO iz0 WHİLE sayı 0.4 END SAY “sayınız “i” defa ikiye bö- lündü.”
Bunun tersi de UNTIL'dir. Bu kez döngü, UNTIL'in arkasından verilen koşul yanlış olduğu sürece tekrarlanır. Bunların dışında DO ve END, örneğin bir IF karşılaştırmasından sonra uygulanması gereken emirleri bir arada tutmak için de kullanılır:
IF cevap: * THEN DO SAY olduğu için” SAY “bu emirler uygulanacak” END ELSE DO SAY Y olmadığı için” SAY “bu emirler uygulanacak” END
(Tekrarla) Bir döngüde, döngünün sonuna gelmeden tekrarlama sağlamak için kullanılır:
DO TO 10 IF i= THEN INTERATE SAY i END
Burada -10'dan 10'a kadar sayılar ekrana yazılırken, program 0 sayısını atlayacak ve yazmayacaktır.