【发布时间】:2017-11-16 15:03:17
【问题描述】:
我想在另一个字符串变量中为变量命名:
my $name = '$a'; 或简单的my $name = 'a'; 如何制作变量并使用它?我的意思是这样的(但它不起作用):
my $name = '$a';
my {$name} = 1; # Doesn't work
say $a; # should be 1
更一般的情况。我有一个变量名列表,比如my @names = '$aa' ... '$cc'; 如何声明和使用变量,其名称将是例如@names[2]?
【问题讨论】:
-
如果你想要这个,你对这个问题的思考是错误的。这是关于 Perl5,但在这里仍然有效:perl.plover.com/varvarname.html
-
@Holli 我并没有考虑将它与一些类似哈希的数据一起使用,我只是想知道如何去做。 :) 感谢您的链接!
-
这可能会让您感兴趣:docs.perl6.org/language/packages#Looking_up_names。但这是用于名称查找,而不是声明。我认为词法名称声明必须是明确的,以便编译器可以检查变量是否存在。但是当一个包被导入时,它可以导出动态命名的变量和函数。如果你想用一个模块来做这个,Holli 最近的一个 perl6 question 有两个描述它的答案。
标签: raku