REXX Programlama Dili - Dizinli Değişkenler
REXX programlama dilinde dizinli değişkenlerin tanımlanmasına, bunlara değer atanmasına, bir alt yordama ya da içsel bir işleve değiştirge olarak geçirilmesine ve bir içsel/dışsal işlevin dönüş değeri olarak kullanılmasına ilişkin önemli noktalar, izleyen satırlarda belirtilmiş ve daha iyi anlaşılması için örneklerle güçlendirilmiştir.
Nokta - 1
Bir dizinli değişkenin REXX programlama dilinde tanımlanması oldukça basittir. Dizinli değişken olarak kullanılmak istenen değişken adından sonra bir nokta işareti belirtilerek dizin içerisindeki sıra numarası ardı sıra belirtilir. Örnek olarak,
deger1 = 10
deger2 = 20
deger3 = 30
deger4 = 40
şeklinde ayrı bir değişken olarak tanımlanmış değişkenleri bir dizinli değişken yapısı altında birleştirmek amacıyla
deger.1 = 10
deger.2 = 20
deger.3 = 30
deger.4 = 40
şeklindeki dizilimlerin kullanılması yeterlidir. Tanımlanan bu dizinli değişkenlere ait olan değerleri görüntülemek amacıyla
Say deger.1
Say deger.2
Say deger.3
Say deger.4
şeklindeki dizilimlerin yanı sıra
Do h = 1 To 4 By 1
Say deger.h
End
şeklindeki bir dizilim öbeği de kullanılabilir.
Nokta - 2
Bir (1) boyutlu dizinli değişkenlerin tanımlanmasının yanı sıra birden fazla dizinli değişkenlerin kullanımı ve tanımlanması söz konusu olacaksa, her bir boyut için ayrı bir nokta işareti kullanılır. Örnek olarak,
deger11 = 10
deger12 = 20
deger13 = 30
deger21 = 40
deger22 = 50
deger23 = 60
deger31 = 70
deger32 = 80
deger33 = 90
şeklindeki değişkenleri iki boyutlu bir dizinli değişken yapısında bir araya getirerek tanımlamak amacıyla
deger.1.1 = 10
deger.1.2 = 20
deger.1.3 = 30
deger.2.1 = 40
deger.2.2 = 50
deger.2.3 = 60
deger.3.1 = 70
deger.3.2 = 80
deger.3.3 = 90
şeklindeki dizilim yapısı kullanılabilir. Bu dizinli değişkene ait elemanları değerlerini bir döngü kullanarak görüntülemek amacıyla
Do h = 1 To 3 By 1
Do i = 1 To 3 By 1
Say deger.h.i
End
End
dizilim yapısını kullanmak yeterlidir.
Nokta - 3
Bir dizinli değişkeni sahip olduğu değerler ile birlikte bir alt yordama ve/veya içsel işleve değiştirge olarak aktarabilmek amacıyla Procedure anahtar kelimesine ait Procedure Expose diziliminden yararlanılır. Bu durumu örnekleyen bir düzgü kesiti
/* ----- */
ifade.1 = 'Türkiye'
ifade.2 = 'Cumhuriyet'
ifade.3 = 'Merkez'
ifade.4 = 'Bankası'
Call ay1 ifade.
Exit 0
/* ----- */
ay1: Procedure Expose ifade.
Do h = 1 To 3 By 1
Say ifade.h
End
Return
/* ----- */
şeklinde verilebilir. Bu düzgü içerisinde yer alan Procedure Expose diziliminde kullanılan ifade. ibaresi, alt yordama ve/veya içsel işleve aktarılacak dizinli değişkenin ismi ile aynı olmalıdır. Eğer bu dizilim
Procedure Expose dizgi.
şeklinde olsaydı, yorumlama sırasında hata iletileri ile karşılaşılırdı.
Nokta - 4
Bir içsel işlevin dönüş değeri olarak bir dizinli değişkenin kullanımını örnekleyen dizilim
/* */
sonuc. = islev1()
Do h = 1 To 3 By 1
Say sonuc.h
End
Exit 0
/* ----- */
islev:
deger.1 = 'Kars'
deger.2 = 'Erzurum'
deger.3 = 'Erzincan'
Return ( deger. )
Return
şeklindeki düzgü kesitiyle verilebilir.
Nokta - 5
Bir dışsal işlevin dönüş değeri olarak bir dizinli değişkenin kullanımını örnekleyen dizilim
/* Deney.rexx */
sonuc. = 'BenimIslevim.fnc'
Do h = 1 To 3 By 1
Say sonuc.h
End
Exit 0
/* BenimIslevim.fnc */
deger.1 = 'İzmir'
deger.2 = 'Manisa'
deger.3 = 'Uşak'
Return ( deger. )
Return
şeklindeki düzgü kesitiyle verilebilir.