Scala'daki işlevsel programlama kursunu izliyorum ve çalışma sayfası repl'inin garip bir davranışını gördüm. Derste Intellij çalışma sayfası ve sınıflar içinde tanımlanmış
sağda aşağıdaki sonuçları vermelidir aşağıdaki kodla bir çalışma sayfası: Ben olsun neobject rationals {
val x = new Rational(1, 2) > x : Rational = [email protected]<hash_code>
x.numer > res0: Int = 1
y. denom > res1: Int = 2
}
class Rational(x: Int, y: Int) {
def numer = x
def denom = y
}
object rationals { > defined module rationals
val x = new Rational(1, 2)
x.numer
y. denom
}
class Rational(x: Int, y: Int) { > defined class Rational
def numer = x
def denom = y
}
Sadece aldığım object
içine class
taşıdıktan sonra ise koddakiyle aynı sonuç.
- Bu Intellij tarafından mı kaynaklandı, yoksa Scala'da değişiklikler oldu mu?
- Bunun etrafında başka yollar var mı?
Bu birlikte değerlendirilecektir
gibi bazı nesne içindeki bu tür Alt satıra bazen çok kullanışlı IntelliJ çalışma sayfası davranıştır. Sadece '' val's ve ifadelerini – Odomontois
@Odomontois Nesneleri dışında yazın, işe yarıyor. Ama hala onun ne olduğunu görmüyorum? – Lukasz
Bazı 'val' tanımları bazen sıralı olarak değerlendirilmemelidir. “Nesne” henüz tam olarak başlatılmadığı için, “toString” aşamasında atılan tembel val'ler veya istisnalar arasında karmaşık bağımlılıklar olabilir. Yani IDEA'da bu tür kötü şeyleri nesneler içine koyabilirsiniz, Eclipse'de başka bir seçeneğiniz yok. Bunları ayrı bir kaynak haline getirebilirsiniz. – Odomontois