有没有语言可以获取局部变量的名称或传递参数?

时间:2012-04-25 16:00:26

标签: reflection

我正在寻找一种“非常了解”自己的语言。

因为我不知道是否有这样的语言或它是什么,所以我在这里使用Java。

例如,它可以获取为局部变量定义的“名称”。

String google = "http://google.com";
System.out.println(google.???);
// it prints `google`

或者获取传递的参数名称:

void hello(String name) {
   System.out.println(name.???);
}

String jeff = "My name is Jeff";
hello(jeff);
// it prints `jeff`, not `My name is Jeff`

有没有语言有这种力量?

2 个答案:

答案 0 :(得分:1)

这称为“反思”。 大多数现代语言都有这样的功能。

答案 1 :(得分:1)

搜索java和introspection。您可以获取属性的名称和类型,方法名称以及参数。 Objective-c具有类似的功能。