亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: mojolicious源碼 [打印本頁]

作者: b4and5    時間: 2014-12-25 09:53
標(biāo)題: mojolicious源碼
小弟準(zhǔn)備開始看mojolicious的源碼學(xué)習(xí)學(xué)習(xí),
可是剛打開Mojolicious.pm就蒙了...
  1. package Mojolicious;
  2. use Mojo::Base 'Mojo';

  3. # "Fry: Shut up and take my money!"
  4. use Carp ();
  5. use Mojo::Exception;
  6. use Mojo::Util;
  7. use Mojolicious::Commands;
  8. use Mojolicious::Controller;
  9. use Mojolicious::Plugins;
  10. use Mojolicious::Renderer;
  11. use Mojolicious::Routes;
  12. use Mojolicious::Sessions;
  13. use Mojolicious::Static;
  14. use Mojolicious::Types;
  15. use Mojolicious::Validator;
  16. use Scalar::Util ();
  17. use Time::HiRes  ();

  18. has commands => sub {
  19.   my $commands = Mojolicious::Commands->new(app => shift);
  20.   Scalar::Util::weaken $commands->{app};
  21.   return $commands;
  22. };
  23. has controller_class => 'Mojolicious::Controller';
  24. has mode => sub { $ENV{MOJO_MODE} || $ENV{PLACK_ENV} || 'development' };
  25. has moniker  => sub { Mojo::Util::decamelize ref shift };
  26. has plugins  => sub { Mojolicious::Plugins->new };
  27. has renderer => sub { Mojolicious::Renderer->new };
  28. has routes   => sub { Mojolicious::Routes->new };
  29. has secrets  => sub {
  30.   my $self = shift;
復(fù)制代碼
這里的has是什么用法....
網(wǎng)上找了半天也沒找到,去找object oriented perl也沒找到....
麻煩賜教....
謝謝
作者: bikong0411    時間: 2014-12-25 12:25
順著use去找has
作者: zhlong8    時間: 2014-12-25 12:40
has 用來聲明對象的屬性,這個動詞源自 Moose 模塊,而它又源自 Perl6。

Mojolicious 中的 has 是作者自己定義的一個函數(shù)意思類似,在 Mojo::Base 模塊中。里面有大量元編程你估計還看不懂,用法(不同于Moose)是
  1. has '屬性名' => 默認(rèn)值;
  2. $obj->屬性名()  可以獲得屬性的值如果沒有預(yù)先設(shè)置則返回默認(rèn)值(如果是個函數(shù)引用則是調(diào)用這個函數(shù)的返回值 $default->($obj) )
  3. $obj->屬性名(新的值)  改變屬性的值
復(fù)制代碼

作者: nixiaoweihunter    時間: 2014-12-25 13:53
回復(fù) 3# zhlong8

哪里有元編程的資料?

   
作者: b4and5    時間: 2014-12-25 14:23
回復(fù) 3# zhlong8

哇,一下子學(xué)到好多...謝謝版大

   
作者: zhlong8    時間: 2014-12-25 19:28
回復(fù) 4# nixiaoweihunter


http://perldoc.perl.org/perlmod.html
http://perldoc.perl.org/perlref.html




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2