如何存储和检索perl对象
问题:我想存储一个对象列表,以便在以后的时间点调用相应的方法如何存储和检索perl对象,perl,Perl,问题:我想存储一个对象列表,以便在以后的时间点调用相应的方法 my @tc = ("TC_1","TC_2"); my %obj_list = (); foreach my $test (@tc) { $obj_list{$test} = Test->new($test); } 在后面的同一个模块文件中,我需要调用这些对象的相应方法 foreach my $test (keys %obj_list) { if (some specific condition
my @tc = ("TC_1","TC_2");
my %obj_list = ();
foreach my $test (@tc) {
$obj_list{$test} = Test->new($test);
}
在后面的同一个模块文件中,我需要调用这些对象的相应方法
foreach my $test (keys %obj_list) {
if (some specific condition is satisfied for a test) {
1 --> $obj_list->$test->action();
2 --> $obj_list{$test}->action();
}
}
我试过1号和2号,但都不起作用。有人能告诉我我在这里做错了什么。任何输入都会有很大帮助。除了一些语法错误之外,您的代码基本上是正确的
# Use ( ... ) to initialise an array.
my @tc = ("TC_1","TC_2");
my %obj_list = ();
foreach my $test (@tc) {
$obj_list{$test} = Test->new($test);
}
foreach (keys %obj_list) {
if (some specific condition is satisfied for a test) {
# This version is incorrect
# $obj_list->$key->action();
# This version will work, except you have the
# key in $_, not $key.
$obj_list{$_}->action();
}
}
将use strict
和use warnings
添加到代码中会帮助您发现其中一些问题。您的代码基本上是正确的,除了一些语法错误
# Use ( ... ) to initialise an array.
my @tc = ("TC_1","TC_2");
my %obj_list = ();
foreach my $test (@tc) {
$obj_list{$test} = Test->new($test);
}
foreach (keys %obj_list) {
if (some specific condition is satisfied for a test) {
# This version is incorrect
# $obj_list->$key->action();
# This version will work, except you have the
# key in $_, not $key.
$obj_list{$_}->action();
}
}
在代码中添加
use strict
和use warnings
会帮助您发现其中一些问题。这是您真正的代码吗?它有非常基本的错误。原则上,您确实可以将对象放入数组或散列中;它们是参考资料。然后您可以在尝试时使用它们。请澄清这是否是您的代码,如果不是,请向我们显示真实代码。@tc=(“tc_1”,“tc_2”)
创建数组或$tc=[“tc_1”,“tc_2”]
创建数组引用。foreach(key%obj_list)
然后您使用(不存在)$key
抱歉,我在这里键入了伪代码,犯了错误。我会纠正同样的错误并给出准确的代码这是你的真实代码吗?它有非常基本的错误。原则上,您确实可以将对象放入数组或散列中;它们是参考资料。然后您可以在尝试时使用它们。请澄清这是否是您的代码,如果不是,请向我们显示真实代码。@tc=(“tc_1”,“tc_2”)
创建数组或$tc=[“tc_1”,“tc_2”]
创建数组引用。foreach(key%obj_list)
然后您使用(不存在)$key
抱歉,我在这里键入了伪代码,犯了错误。我将纠正同样的错误,并在这里给出准确的代码