Ana içeriğe geç Tamamlayıcı içeriğe geç

Parametreleri kullanarak dolar işareti genişletmesi

Dolar işareti genişletmelerinde parametreler kullanılabilir. Bu, değişkenin dinamik olarak değerlendirilmesini olanaklı kılar.

Genişletmede kullanılmak üzere oluşturulan değişken, biçimsel parametreler içermelidir. Biçimsel bir parametre, değerlendirmenin girdisi için bir yer tutucudur ve bir dolar işaretiyle yazılır: $1, $2, $3. Sayı, parametre numarasını gösterir.

Değişken kullanılırken, gerçek parametreler virgülle ayrılmış bir listede belirtilmelidir.

Örnekler: Dolar işareti genişletmelerindeki parametreler

İki sayı arasında bir çarpım tanımlamak istiyorsanız, şunu yazabilirsiniz:

Set MUL= $1*$2 ;

Bu, $1 ve $2 değerlerinin birbirleriyle çarpılması gerektiğini tanımlar. Kullanılırken, bu değişkendeki dolar işareti, $1 ve $2 değerleri ifadenin içine eklenerek genişletilmelidir:

Set X= $( MUL(3,7) ) ;

Değerler (3 ve 7), genişletmede $1 ve $2 yerine geçen gerçek parametrelerdir. Genişletme, Set deyimi ayrıştırılıp yürütülmeden önce yapılır, yani kod ayrıştırıcı şunu görür:

Set X= 3*7 ;

Bunun sonucunda, X değişkenine 3*7 dize değeri atanır.

Set deyimi yerine bir Let kullanırsanız:

Let X= $( MUL(3,7) ) ;

Ayrıştırıcı şunu görür:

Let X= 3*7 ;

Burada bir değerlendirme yapılır ve X değişkenine 21 sayısal değeri atanır.

Parametre sayısı

Biçimsel parametrelerin sayısı gerçek parametrelerin sayısını aşarsa, yalnızca gerçek parametrelere karşılık gelen biçimsel parametreler genişletilir. Gerçek parametrelerin sayısı biçimsel parametrelerin sayısını aşarsa, gereksiz gerçek parametreler yok sayılır.

Örnekler: Biçimsel parametrelere karşılık gerçek parametreler

Set MUL= '$1*$2' ;
Set X= $(MUL) ;         // returns $1*$2 in X
Set X= $(MUL(10)) ;     // returns 10*$2 in X
Let X= $(MUL(5,7,8)) ;  // returns 35 in X

$0 parametresi

$0 parametresi, çağrı tarafından gerçekten geçirilen parametrelerin sayısını döndürür.

Örnek: Hata işleme nasıl eklenir?

Set MUL= If($0=2, $1*$2, 'Error') ;

Daha fazla bilgi

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!