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 tekrarselam: 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