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?

questionAnswers(1)

yourAnswerToTheQuestion