Próbując zrozumieć, jak klasy zadeklarowane na REPL są traktowane wewnętrznie
Staram się zrozumieć, jak działa zakres w REPL. Starałem się postępować do rozdziału 5.1.1 książki Joshua Suereth Scala dogłębnie. Dotyczy to Windows XP, Java 7 i Scala 2.9.1. Deklaruję klasęDinner
w REPL. WiązanieDinner
istnieje w zasięgu lokalnym. Następnie tworzę instancję, ponieważ jest związana lokalnie.
scala> class Dinner {
| val veggie="broccoli"
| def announceDinner(veggie: String){
| println("Dinner happens to be tasteless " + veggie + " soup")
| }
| }
defined class Dinner
scala> new Dinner
res1: Dinner = Dinner@27fb77
Jak na razie dobrze. ImięDinner
był związany lokalnie i moglibyśmy również skonstruowaćval x
które mogłyby mieć odniesienie donew Dinner
.
Z tego, co wiem do tej pory, REPL zawija powyższy kod w obiektach wewnętrznie. Dobra, moja wiedza o Scali nie jest jeszcze tak głęboka i staram się zrozumieć, jak klasa może być wewnętrznie opakowana przez REPL.
Czy istnieje komenda REPL, która może pomóc mi ocenić te obiekty?