gpt4 book ai didi

programming-languages - 什么语言可以让我们得到定义的参数名和传递的参数名?

转载 作者:行者123 更新时间:2023-12-05 01:23:41 25 4
gpt4 key购买 nike

比如我定义了一个方法:

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 做不到。但我认为这是一个非常有用的功能(尤其是对于网络框架设计)。有语言可以做到吗?

最佳答案

一般您无法获取参数的名称,因为参数可能不是命名变量。鉴于此:

def hello(String name) {
println("Passed parameter name: " + getPassedName())
}

这里会输出什么:

hello("a literal")
hello("an " + "expression")

鉴于此,有些语言允许您访问传递参数的原始 AST。 Lisp、Io 和 Ioke 中的宏都允许您定义将一大块未计算的代码作为参数的函数,然后您可以检查这些代码。

关于programming-languages - 什么语言可以让我们得到定义的参数名和传递的参数名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7090494/

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