當前位置:編程學習大全網 - 源碼下載 - 向任何目錄層次結構添加自定義Perl對象都會遇到這個問題。無法通過包定位對象方法“new”。

向任何目錄層次結構添加自定義Perl對象都會遇到這個問題。無法通過包定位對象方法“new”。

首先,java是some class sc = new some class class class();

這會生成壹個對象。不是object = SomeClass。

但重點是,SomeClass相對於perl是AA::BB::CC。

因為perl本身沒有new方法,new()是妳的模塊做的。

自己定義壹個sub new。這些::只是告訴perl調用。

AA::BB::XX的那個new()方法

包My::Mo;

sub new { bless { } }基本構造函數。

1;

__END__

所以,如果沒有那些::,perl就無法猜測妳想找那個new();

但是如果要做我的$ a = AA();沒關系,

#!實際抽取與匯報語言

#我的/月/對象. pm

打包My::Mo::Obj;

要求出口商;

our @ ISA = qw/Exporter/;

我們的@ EXPORT = qw/AA/;

sub AA {祝福{ } };

sub hi {打印“hi!”} ;

1;

__END__

#!實際抽取與匯報語言

#main

使用My::Mo::Obj

$ obj = AA();

$ obj-& gt;hi();#打印“嗨!”

__END__

但是妳不應該這樣做,因為這樣會對以後的維護造成很大的混亂...壹個人看。

妳的代碼不會知道妳的構造函數來自哪裏。Perl的特性是給妳

最大的靈活性,但是不要忘記Perl也提倡擁有自己的和* * *意識到的規程。

ps。

不要開始{ un soft(@ Inc,"/usr/local/app/calc _ center/3.0/common/");}

就算用了push也不用unshift。因為這樣做會讓perl每次都要找模塊。

先找妳的文件夾(但不是必須的),這樣會降低妳的整體速度。...

此外,妳實際上可以

使用lib“your/module/path”;

這是最安全的方法。

  • 上一篇:泛海國際住區怎麽樣?好不好?值不值得買?
  • 下一篇:財稅大數據應用的就業前景
  • copyright 2024編程學習大全網