gpt4 book ai didi

scala - 在 Scala 中获取方法/函数/变量名称作为字符串

转载 作者:行者123 更新时间:2023-12-04 05:56:15 44 4
gpt4 key购买 nike

在 Java 中,我可以执行 TheClass.class.getName() 以在某处获取我需要的类名作为字符串(避免再次键入它,避免拼写错误,清楚地记录依赖关系) .

我可以对 Scala 中的函数(或其他东西)做同样的事情吗?

val theName : String = nameOf[aFunctionThatICanSeeHere]

最佳答案

对于类名:

val theName = classOf[TheClass].getName

classOf[TheClass] 与 Java 中的 TheClass.class 相同。

对于方法名称等,您可以使用 reflection ,就像在 Java 中一样。 (请注意,Scala 反射 API 目前仍处于实验阶段)。

edit - Scala 除了是一种面向对象的编程语言外,还是一种函数式编程语言。您可以将函数作为值传递。例如:

class Thing {
def method(x: Int): Int = x + 2
}

val thing = new Thing

// fn is a value that refers to a method
// similar to (but not really the same as) a method reference in Java
val fn = thing.method _

// you can call the method through fn
val result = fn(3) // same as thing.method(3)

关于scala - 在 Scala 中获取方法/函数/变量名称作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34060376/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com