请教一个bless对象的问题

请教一个bless对象的问题

sub new {  
  my ($class, $genes) = @_;

  my $self;
  if (ref $class) {
    $self = bless {} => ref $class;
    $self->{$_} = $class->{$_} for keys %$class;
    $self->{GENES}  = $genes;
    $self->{CALCED} = 0;

  } else {          # new mode. Genome is given
    goto &newSpecific;
  }

  return $self;
}


还有一个
sub newRandom {
  my ($class, $length) = @_;

  my $self = bless {
                    GENES   => [],
                    SCORE   => 0,
                    FITFUNC => sub {},
                    CALCED  => 0,
                   } => $class;

  push @{$self->{GENES}} => rand > 0.5 ? 1 : 0
    for 1 .. $length;

  return $self;
}


$self = bless 中的=> 号不理解,
push @{$self->{GENES}} => rand > 0.5 ? 1 : 0 这里面的=> 也不理解,有没有高手解答一下了 先谢谢了!

=>  equal to ,
please reference to
perldoc perl

QUOTE:
       The "=>" operator is a synonym for the comma, but forces any word (con-
       sisting entirely of word characters) to its left to be interpreted as a
       string (as of 5.001).  This includes words that might otherwise be con-
       sidered a constant or function call.

           use constant FOO => "something";

           my %h = ( FOO => 23 );

       is equivalent to:

           my %h = ("FOO", 23);

       It is NOT:

           my %h = ("something", 23);

       If the argument on the left is not a word, it is first interpreted as
       an expression, and then the string value of that is used.

       The "=>" operator is helpful in documenting the correspondence between
       keys and values in hashes, and other paired elements in lists.

               %hash = ( $key => $value );
               login( $username => $password );



QUOTE:
$self = bless 中的=> 号不理解,
push @{$self->{GENES}} => rand > 0.5 ? 1 : 0 这里面的=> 也不理解,有没有高手解答一下了 先谢谢了!

1. =>在perl里就是逗号',', 第一句就等同于bless {},$class,返回一个bless的目标给$self. ref $class表示如果该类已实例化的话,那么就取其类自身.
2. rand是个内置函数吧,如果call该函数的结果大于0.5,就push 1到$self->{GENES}指向的数组里去.否则push 0到这个数组里去.
3. 这个代码写的有点晦涩.另外,现代好的programming style建议不用goto语句.


btw: 好久没用中文,','是句号还是逗号刚才想了半天,
楼上重现江湖.
仙子下凡了!!!!!!
回娘家感觉可好?


QUOTE:
原帖由 Nosferatu 于 2008-1-23 21:36 发表
仙子下凡了!!!!!!
回娘家感觉可好?

没回呢..我这边登录CU超级慢,所以平时上得很少.
快过年了,有点想家..借此帖给本版版友和flw拜个早年.
祝2008大家和Perl一同进步!
也祝仙子新年快乐,在国外也不容易,加油哦


QUOTE:
原帖由 Nosferatu 于 2008-1-23 22:04 发表
也祝仙子新年快乐,在国外也不容易,加油哦

en,谢谢!
跟在后面顶~异国他乡,不容易.快过春节了,也不打算回乡?呵呵


QUOTE:
原帖由 mouse.rice 于 2008-1-24 00:04 发表
跟在后面顶~异国他乡,不容易.快过春节了,也不打算回乡?呵呵

不着急,刚来不久呵呵.