scala - 在 Spark Shell 中打印所有定义的变量/方法签名 - Scala REPL

标签 scala shell apache-spark

当我使用 spark-shell我最终定义了许多 var , val , 和 methods .在某些时候,我忘记了我在 session 中可用的内容。我该如何打印?

例如

val x = 10;
var y = 15;
def myMethod(input: Int): Int = { input * 2 }

// invoke magic print command to obtain something like:
// > val x;
// > var y;
// > myMethod(input: Int): Int;

编辑(澄清):

如果我输入以下内容:
scala> def foo(x: Int, y: Int): Int = { x * y }
foo: (x: Int, y: Int)Int
scala> def bar(x: Int, y: Int): Int = { x / y }
bar: (x: Int, y: Int)Int

对于我定义的方法,是否有任何我可以键入的内容仅打印以下内容?
foo: (x: Int, y: Int)Int
bar: (x: Int, y: Int)Int

最佳答案

您可以尝试类似的操作:

$intp.definedTerms
  .map(t => s"${t.toTermName}: ${$intp.typeOfTerm(t.toTermName.toString)}")
  .foreach(println)

关于scala - 在 Spark Shell 中打印所有定义的变量/方法签名 - Scala REPL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41494656/

相关文章:

scala - 为什么方法 "combinations"在 Scala 中返回 Iterator 而不是 Stream?

scala - 一等函数的部分应用函数

bash - 在 shell 脚本中解析文本文件

linux - 我的自定义 init shell 脚本停止部署脚本

java - Spark 2.0.0 Arrays.asList 不工作 - 不兼容的类型

java - 如何让 JVM 在多态方法调用中将 scala.Array[T] 识别为 java 数组 T[]?

java - 我可以在 scala 文件中使用 java 文件中的变量吗?

python - 从 python 在 shell 中启动外部 shell python 实例

scala - Spark 任务无法将行写入 ORC 表

apache-spark - 如何在spark中的csv文件中加载 'dd/MM/yyyy'格式的日期?