Akarsu Manzarası vs vs Kullanımına
Akarsu Manzarası (SeqView) ve scala içinde Kullanımına arasındaki farklar nelerdir? Benim anladığım bu
- Tüm tembel listeler.
- Akarsu değerleri önbellek.
- Kullanımına yalnızca bir kez kullanılabilir mi? Başlangıca dön ve değeri yeniden değerlendirebilir mi?
- Manzara değerler saklanmaz ama onları tekrar tekrar değerlendirebilir mi?
Eğer öyleyse yığın alanı kazanmak istiyorsam, kullanımına ise traverse listeyi tekrar kazanırsam mi () kullanın veya görüş gerekir? Teşekkürler.
CEVAP
İlk olarak, tüm bunlarolmayan katı. Belirli bir matematiksel bir anlam fonksiyonlarıyla ilgili, ama, temelde, isteğe bağlı önceden yerine hesaplanan demektir.
Stream
tembel bir liste gerçekten. Scala aslında, bir Stream
lazy val
olan List
. Bir kez hesaplanan, hesaplanmış bir değeri kalır ve yeniden kullanılabilir. Ya da dediğiniz gibi, değerleri önbelleğe alınır.
Iterator
tek bir çünkü bir kez kullanılabilirgeçişi işaretçibir koleksiyon, ve başlı başına bir koleksiyon değil. Ne yapar bu özel Scala aslında o-ebilmek uygulamak dönüşüm gibi map
filter
ve sadece yeni Iterator
sadece geçerli bu dönüşümler ne zaman sormak için bir diğer etmen.
Scala reset olabilir, ama genel bir şekilde açıklamak çok zor kullanımına sağlamak için kullanılan, ve sürüm 2.8.0 yapmadılar.
Manzaralı bir veritabanı görünümü gibi görülmelidir. Bir "" koleksiyonu. sanal üretmek için bir koleksiyon için geçerli olan dönüşüm bir dizi Dediğiniz gibi bütün dönüşümler bu öğeleri getirmek gerekir yeniden uygulanan her zaman vardır.
Iterator
ve manzarası mükemmel hafıza özelliklere sahip. Stream
güzel, ama, Scala, ana parası sonsuz diziler (özellikle dizileri özyinelemeli olarak tanımlanan) yazıyor. Birolabilirönlemek tutmak tüm Stream
bellek, o halde emin değilsin devam et başvuru için head
(örneğin, kullanarak def
yerine val
tanımlamak Stream
).
Çünkü cezalar ile görüş, genellikle force
sonra uygulama dönüşümleri, ya da tutmak gibi bir görünüm sadece birkaç öğeleri beklendiği için hiç zorlama göre toplam boyutunu görüntüleyin.
Arasındaki fark Python'In Jenerat...
Yol _viewstart kullanmak doÄŸru.cshtml ...
Neden dizi indis yerine kullanımına ku...
Görüş Düzenine Kafa veya kısmi manzara...
Benim kendi Kullanımına oluşturma...