Değişken Tanımlama

res0, res1 gibi değişken adları yerine kendi değişken adlarımızı tanımlayabiliriz:

scala> val cevap = 8 * 5 + 2
cevap: Int = 42

Tanımladığınız bu değişkenlerinizi daha sonra da kullanabilirsiniz:

scala> 0.5 * cevap
res3: Double = 21.0

Dikkat ederseniz değişkenleri tanımlarken tipini belirtmek zorunda değiliz. Bu, ilk verilen değerin tipinden anlaşılmaktadır. (İlk değeri verilmeyen bir değişken tanımlamak hatadır.) Ama gerekliyse değişkenin tipini belirtebiliriz. Örneğin;

val selam: String = null
val selam: Any = "Merhaba"
Not: Scala'da değişkenlerin ve fonksiyonların tipleri her zaman adlarından sonra yazılır. Bu, karmaşık tiplerle tanımlamayı okumayı kolaylaştırmaktadır.

Ne zaman Java ile Scala arasında kod yazmaya kalksam, parmaklarım refleks olarak String selam şeklinde yazmaya geçiyor ve tekrar selam: String şeklinde yazmam gerekiyor. Bu biraz sinir bozucu ama karmaşık Scala programlarıyla çalışmaya başladığımda C stilinde tanımlama yapmak zorunda olmadığıma minnet duyuyorum. --Cay S. Horstmann, Scala for the Impatient

val olarak tanımlanan bir değişken aslında bir sabittir; içeriğini sonradan değiştiremezsiniz:

scala> cevap = 0
<console>:8: error: reassignment to val

İçeriği değiştirilebilen bir değişken tanımlamak için var kullanın:

var sayac = 0
sayac = 1 // Tamam, bu var'ı değiştirmekte bir sorun yok 

Scala'da, gerçekten içeriğini değiştirmeniz gerekmeyen tanımlamaları val ile yapmanız tavsiye edilir. Belki de Java veya C++ programcıları için şaşırtıcı olacak; pek çok program için fazla var gerekmeyebiliyor.

Not: Fark ettiyseniz değişken tanımlama ya da atamalarından sonra noktalı virgül kullanımı yok. Scala'da noktalı virgül sadece aynı satırda birden çok ifade yazıldığında gerekir.

Birden çok değişkeni aynı satırda beraber tanımlayabilirsiniz:

var i,j = 0
var selam, mesaj: String = null

Yeni yorum ekle

Filtered HTML

  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • İzin verilen HTML etiketleri: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Satırlar ve paragraflar otomatik olarak bölünür.

Plain text

  • Hiç bir HTML etiketine izin verilmez
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Satırlar ve paragraflar otomatik olarak bölünür.
Bu formu göndererek Mollom gizlilik şartlarını kabul etmiş oluyorsunuz.