Как упомянуто в " Как получить / проверить объект или переменную в Java " (да, я знаю, вопрос о Scala):
Scala (консоль)имеет очень полезную функцию для проверки или сброса значений переменных / объектов:
scala> def b = Map("name" -> "Yudha", "age" -> 27)
b: scala.collection.immutable.Map[java.lang.String,Any]
scala> b
res1: scala.collection.immutable.Map[java.lang.String,Any] = Map((name,Yudha), (age,27))
Но если вы хотите получить более подробную информацию, вы можете попробовать REPL Scala Utils , чтобычтобы получить « Более легкую проверку объектов в Scala REPL »
Итак, я написал утилиту для использования в Scala REPL, которая будет распечатывать все«атрибуты» объекта .
(Примечание: здесь присутствует "I": Эрик Энгбрехт , также в BitBucket )
Вот пример использования:
scala> import replutils._
import replutils._
scala> case class Test(a: CharSequence, b: Int)
defined class Test
scala> val t = Test("hello", 1)
t: Test = Test(hello,1)
scala> printAttrValues(t)
hashCode: int = -229308731
b: int = 1
a: CharSequence (String) = hello
productArity: int = 2
getClass: Class = class line0$object$$iw$$iw$Test
Это выглядит довольно анти-климатическим, но после нескольких часов, набирая objName
, чтобы посмотреть, что там есть, и изучая методы, кажется, чточудо.
Кроме того, одна из его особенностей заключается в том, что если класс возвращаемого объекта отличается от класса, объявленного в методе, он печатает как объявленный класс, так и фактический возвращенный класс.