2011-07-28 20 views

cevap

8

Türü olmadan, final val bir değişmez sabit gibi davranır - tanımlayıcı derleme zamanında değerine göre değiştirilir. Türü ile ek açıklamalarda kullanılamayacak bir yerde saklanan bir şeyin referansı olur.

Bu tarifnamenin bölüm 4.1 tanımlanır:

sabit bir değer tanımı e sabit bir ekspresyon (§6.24) olduğu şeklinde

final val x = e 

taşımaktadır. Son değiştirici mevcut olmalıdır ve herhangi bir tip açıklama verilemez. sabit değeri x'e yapılan referanslar, sabit ifadeler olarak ele alınır; 'da oluşturulan kod, tanımın sağ taraftaki tarafına göre değiştirilir.

Scala'da gerçek adlandırılmış sabitleri alabilmenin tek yolu budur. Performans avantajları vardır, gerçekten mutasyona uğratılmamaları garantidir (bir türle birlikte final val yansıması ile değiştirilebilir) ve elbette ek açıklamalarda kullanılabilirler.

+0

Neler olduğunu tahmin ettim, ama neden böyle çalışıyor? Bu şekilde yapmanın bazı yararları var mı? Bunun kullanışlı bir özellik olduğu bir durum var mı? – scalapeno

+0

@ tritium6 Cevabımı genişletdim, ancak ek açıklamalarda kullanışsız bir durum mu kullanmıyor? –

+0

Genişletme için teşekkürler. Haklısın, açıklama notu yararlıdır. Demek istediğim, yazılan ifade için yararlı bir durum mu var? Niçin son bir referansın olduğu bir davaya sahip olmak istersiniz? – scalapeno

İlgili konular