Intentar comprender cómo se tratan internamente las clases declaradas en el REPL

Estoy tratando de entender cómo funciona el alcance en el REPL. Intenté seguir en profundidad la Sección 5.1.1 del libro de Joshua Suereth, Scala. Esto está en Windows XP, Java 7 y Scala 2.9.1. Declaro una claseDinner en el REPL. La UniónDinner Existe en el ámbito local. Luego lo instancia porque está enlazado localmente.

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

Hasta ahora tan bueno. El nombreDinner Estaba ligado localmente y también podríamos construir unval x que podría contener una referencia anew Dinner.

Por lo que sé hasta ahora, el REPL envolverá el código anterior en objetos internamente. De acuerdo, mi conocimiento de Scala no es tan profundo todavía y estoy tratando de entender cómo la REPL puede envolver a la Clase internamente.

¿Hay un comando REPL que pueda ayudarme a evaluar estos objetos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta