由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - perl如何用变量的值当另一个变量的变量名
相关主题
工欲善其事,必先正其名bash中怎样进行变量名递归替换?
perl里如何申明static变量?[合集] 怎样有效的传递C静态数组的变量名?
perl怎么判断一个变量为空并且不为零? (转载)为什么有点函数声明的参数类型但是没有变量名呢?
perl debugger 请较大虾们visual studio怎么在local窗口里快速查找变量名?
要在perl 里实现这样一个功能高手们,求教2, c99里面怎么把字符串转换成变量名
问个perl的问题,谢谢了用vim/emacs相当于开手动车
int (*b)[2]; 是什么意思?一个哈希表问题
C++ set ctor的疑问请教c++数组初始化
相关话题的讨论汇总
话题: name话题: 变量话题: perl话题: where
进入Programming版参与讨论
1 (共1页)
h******y
发帖数: 173
1
一个哈希数组,在程序运行中自动创建:
$a{b}
其中的a和b希望从别的变量的值中得到,比如当$c="china", $d="heilongjiang"时,
我的这个$a{b}就时$china{heilongjiang}。
我实在是查不到了,教程上没有。老大们请帮忙,谢谢。
s***e
发帖数: 793
2
for $b, it is ok, but i do not know for $a
tcl supports that, but i dont't know whether perl supports that.
but anyway, u can use two layer hash.
first hash store the pointer of the second hash

【在 h******y 的大作中提到】
: 一个哈希数组,在程序运行中自动创建:
: $a{b}
: 其中的a和b希望从别的变量的值中得到,比如当$c="china", $d="heilongjiang"时,
: 我的这个$a{b}就时$china{heilongjiang}。
: 我实在是查不到了,教程上没有。老大们请帮忙,谢谢。

h******y
发帖数: 173
3
谢谢,的确$b可以,教程上也有,就是那个a不行,加引号圆括号花括号都不行。
我是个新手,指针还没学呢:)
s***e
发帖数: 793
4
use two layer hash, it might look like this
my %a;
$a{"heilongjiang"}="haerbin";
my %b;
$b{"china"}=\%a;
print %{$b{"china"}}->{"heilongjiang"};
for reference in perl,
http://affy.blogspot.com/p5be/ch08.htm

【在 h******y 的大作中提到】
: 谢谢,的确$b可以,教程上也有,就是那个a不行,加引号圆括号花括号都不行。
: 我是个新手,指针还没学呢:)

h******y
发帖数: 173
5
谢谢,学习学习。
h******y
发帖数: 173
6
今天又试验了,发现是可以的。不知道昨天是怎么回事,可能是括号加得不对。
试验的代码如下:
#!/usr/bin/perl
@name=("classmate","worker","boss");
@where=("harbin","changchun","shenyang","tianjin");
$name_number=0;
$where_number=3;
%{$name[0]}=(harbin => "zhao",
changchun => "qian",
shenyang => "sun",
);
print "$classmate{$where[1]}\n";
print "${$name[0]}{shenyang}\n";
${$name[$name_number]}{$where[$where_number]}="li";
print "${$name[$name_number]}{$where[$where_number]}\n";

【在 s***e 的大作中提到】
: use two layer hash, it might look like this
: my %a;
: $a{"heilongjiang"}="haerbin";
: my %b;
: $b{"china"}=\%a;
: print %{$b{"china"}}->{"heilongjiang"};
: for reference in perl,
: http://affy.blogspot.com/p5be/ch08.htm

s***e
发帖数: 793
7
nice

【在 h******y 的大作中提到】
: 今天又试验了,发现是可以的。不知道昨天是怎么回事,可能是括号加得不对。
: 试验的代码如下:
: #!/usr/bin/perl
: @name=("classmate","worker","boss");
: @where=("harbin","changchun","shenyang","tianjin");
: $name_number=0;
: $where_number=3;
: %{$name[0]}=(harbin => "zhao",
: changchun => "qian",
: shenyang => "sun",

1 (共1页)
进入Programming版参与讨论
相关主题
请教c++数组初始化要在perl 里实现这样一个功能
这问题有没有好办法做?问个perl的问题,谢谢了
boost::unordered一问int (*b)[2]; 是什么意思?
多文本搜索多个字符串C++ set ctor的疑问
工欲善其事,必先正其名bash中怎样进行变量名递归替换?
perl里如何申明static变量?[合集] 怎样有效的传递C静态数组的变量名?
perl怎么判断一个变量为空并且不为零? (转载)为什么有点函数声明的参数类型但是没有变量名呢?
perl debugger 请较大虾们visual studio怎么在local窗口里快速查找变量名?
相关话题的讨论汇总
话题: name话题: 变量话题: perl话题: where