Merih Forum Programlama ve yazılım algoritmalar programlama Swift Dilinde Fonksiyonların Çağırılması

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Swift Dilinde Fonksiyonların Çağırılması

 
#1

Bir fonksiyon çağrılırken parametre değişkeni sayısı kadar argüman girilmek zorundadır. Argümanlar aynı türden herhangi bir ifade olabilirler.  Parametrelerin birer yerel ismi (local name) ve birer de dışsal ismi (external name) bulunur. Fonksiyon çağrılırken argümanda etiket (label) olarak dışsal isim belirtilmek zorundadır. Dışsal isimler fonksiyon parametre bildiriminde yerel isimlerin solunda belirtilirler.
Örneğin:
Swift
Kod:
func foo(width w: Double, height h: Double) -> Double

{

   return w * h

}

var result = foo(width: 10, height: 200)

print(result)

Görüldüğü gibi fonksiyon çağrılırken dışsal isimler etiket olarak belirtilmek zorundadır. Fonksiyon çağırma sırasında argüman oluşturma işleminin genel biçimi şöyledir:
[dışsal isim etiketi][:]<ifade>
Dışsal isim yerine ‘_’ karakteri kullanılırsa bu durumda çağırma sırasında dışsal isim etiketi bulundurulmaz.
Örneğin:
Swift
Kod:
func foo(width w: Double, _ h: Double) -> Double

{  

   return w * h;

}

var result = foo(width: 10, 200)

print(result)

Fonksiyonların birinci parametrelerinde default olarak ‘_’ belirlemesi yapılmış gibidir.  Yani biz birinci parametreye dışsal isim vermezsek bunun için argümanda etiketleme yapmamalıyız. Örneğin:
Swift
Kod:
func foo(w: Double, height h: Double) -> Double

{

   return w * h;

}

Bu bildirim şununla eşdeğerdir:

func foo(_ w: Double, height h: Double) -> Double

{

   return w * h;

}

Fonksiyonun çağrımı şöyle yapılabilir:
Swift
Kod:
var result = foo(10, height: 200)          // birinci argümanda etiketleme yapamayız

print(result)

Eğer fonksiyonun birinci parametresine dışsal isim verilmişse artık çağırırken bunun etiketlendirilmesi gerekir.
Örneğin:
Swift
Kod:
func foo(width w: Double, height h: Double) -> Double

{

   return w * h;

}

var result = foo(10, height: 200)   // error! birinci argümanda etiketleme yapmak zorundayız

print(result)

Önemli: İstisna olarak Sınıfların başlangıç metotlarının (init metotlarının) birinci parametresi ‘_’ biçiminde değildir. init metotlarını çağırırken ilk argüman da etiketlendirmek zorundadır. Sınıflar ileride ayrıntılarıyla ele alınacaktır.
Fonksiyon bildirimi sırasında parametre değişkenlerine dışsal isim hiç verilmeyebilir. Bu durumda yerel isim aynı zamanda dışsal isim olarak kullanılır.
Örneğin:

Swift
Kod:
func foo(w: Double, h: Double) -> Double

{

   return w * h;

}

var result = foo(10, h: 200)

print(result)

Burada yine birinci parametre için dışsal isim olarak ‘_’ belirleyicisi kullanılmıştır. Ancak ikinci parametrede dışsal isim kullanılmadığı için yerel isim aynı zamanda dışsal isim olarak ele alınmaktadır.



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2021 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2020 Tüm hakları saklıdır.