Perl OOP祝福

Perl OOP祝福,第1张

概述我是Perl的新手,我一直在通过本教程 http://qntm.org/files/perl/perl.html 无论如何,我正在努力创建一个包含矩阵的包,并将执行各种基本 *** 作(即高斯消除,rref,反向子,确定性等).我有我的构造函数列入引用列表,但是我有一些麻烦祝福他们所以我以后可以访问它们.我的代码到目前为止: main.pl: use strict;use warnings;use M 我是Perl的新手,我一直在通过本教程 http://qntm.org/files/perl/perl.html

无论如何,我正在努力创建一个包含矩阵的包,并将执行各种基本 *** 作(即高斯消除,rref,反向子,确定性等).我有我的构造函数列入引用列表,但是我有一些麻烦祝福他们所以我以后可以访问它们.我的代码到目前为止:

main.pl:

use strict;use warnings;use Matrix;my @List = ([1,1,1],[2,2,2]);my $matrix = Matrix->new(@List);$matrix->test();

Matrix.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所指的引用并没有被祝福,但我不知道如何做到这一点.任何帮助,将不胜感激.

谢谢

解决方法 你忘了在测试中实际定义$self;它不会自动为您服务.这就是你应该总是使用警告的原因;用严格;在每个Perl源文件中:这样编译器就会告诉你这些错误. (另外,编写sub new()而不是sub new是没有意义的,同样也适用于测试;函数原型不仅错误,而且当new被用作方法时会被忽略,即假设是多么新的要使用的.) 总结

以上是内存溢出为你收集整理的Perl OOP祝福全部内容,希望文章能够帮你解决Perl OOP祝福所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存