相当于scala中的pythons repr()

Mar*_*ark 6 scala

repr在scala中是否存在等效的Pythons 函数?

即一个函数,你可以给任何scala对象,它将产生一个有效的scala代码的对象的字符串表示.

例如:

val l = List(Map(1 -> "a"))

print(repr(l))
Run Code Online (Sandbox Code Playgroud)

会生产

List(Map(1 -> "a"))
Run Code Online (Sandbox Code Playgroud)

Deb*_*ski 6

toString每个对象上大多只有方法.(继承自Java.)这可能会也可能不会产生可解析的表示形式.在大多数通用情况下,它可能不会; 没有真正的约定,因为在Python中有一些集合类至少会尝试.(只要它们不是无限的.)

当涉及到字符串时,当然已经达到了它崩溃的程度

"some string".toString == "some string"
Run Code Online (Sandbox Code Playgroud)

但是,为了适当的代表,人们需要

repr("some string") == "\"some string\""
Run Code Online (Sandbox Code Playgroud)

据我所知,Scala中没有这样的东西.但是,有些序列化库可能对此有所帮助.