Programming languages 什么语言可以让我们获得定义的参数名和传递的参数名?
例如,我定义了一个方法:Programming languages 什么语言可以让我们获得定义的参数名和传递的参数名?,programming-languages,parameters,Programming Languages,Parameters,例如,我定义了一个方法: def hello(String name) { println("Hello " + name) } 我想在运行时更改参数的名称: def hello(String name) { println("The name of the parameter of this method is: " + getParamName()) // getParamName() will be `name` here } 并且,我希望获得传递的参数的名
def hello(String name) {
println("Hello " + name)
}
我想在运行时更改参数的名称:
def hello(String name) {
println("The name of the parameter of this method is: " + getParamName())
// getParamName() will be `name` here
}
并且,我希望获得传递的参数的名称:
def hello(String name) {
println("Passed parameter name: " + getPassedName())
}
String user1 = "someone"
hello(user1)
它将打印:
Passed parameter name: user1
注意,这里是user1,变量名
我知道这很难,因为java/groovy/scala做不到。但我认为这是一个非常有用的特性(特别是对于web框架设计)。有一种语言可以做到这一点吗?- 蟒蛇
inspect.getargspec(func)
- C#
- Javascript
这里有一种使用正则表达式在Javascript中实现的方法(另一个问题是,它也提到了Python方法)通常无法获取参数的名称,因为该参数可能不是命名变量。鉴于此:
def hello(String name) {
println("Passed parameter name: " + getPassedName())
}
它会在这里输出什么:
hello("a literal")
hello("an " + "expression")
有鉴于此,有些语言允许您访问所传递参数的原始AST。Lisp、Io和Ioke中的宏都允许您定义函数,这些函数将以一块未计算的代码作为参数,然后您可以对其进行检查。您可以使用C#,看看这里的示例:D被称为具有编译时反射!您可能会看到他们的文档,谢谢,但是我们可以得到传递的变量名吗?我问题中的
user1