gpt4 book ai didi

Perl OOP 祝福

转载 作者:行者123 更新时间:2023-12-04 23:54:47 28 4
gpt4 key购买 nike

我是 Perl 新手,我一直在学习本教程 http://qntm.org/files/perl/perl.html

无论如何,我正在创建一个包含矩阵并执行各种基本操作(即高斯消除、rref、back sub、determants 等)的包。我让我的构造函数接收了一个引用列表,但是我在祝福它们时遇到了一些麻烦,所以我以后可以访问它们。到目前为止我的代码:

主要.pl:

use strict;
use warnings;
use Matrix;

my @list = ([1,1,1],[2,2,2]);
my $matrix = Matrix->new(@list);

$matrix->test();

矩阵.pm:
package Matrix;
sub new(){
my $class = shift;
my $self = [];

my @params = @_;
$self = \@params;

print scalar @{$self->[1]}; #just testing some output...(outputs 3 as expected)

bless $self,$class;

return $self;
}

sub test(){
print @{$self->[1]}; #does not output anything
}

1;

我假设问题是 $self 所指的引用没有被祝福,但我不知道如何做到这一点。任何帮助,将不胜感激。

谢谢

最佳答案

你忘了实际定义 $selftest ;它不会自动为您提供。这就是为什么你应该总是把 use warnings; use strict;在每个 Perl 源文件中:这样编译器就会告诉你这些错误。 (另外,写 sub new() 而不是 sub new 和同样的 test 是没有意义的;函数原型(prototype)不仅是错误的,而且当 new 用作方法时将被完全忽略,即new 应该如何使用。)

关于Perl OOP 祝福,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220573/

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