Názor k článku Perličky: úvod do referencí od Miloš - Nečitelnost není vlastností jazyka ale programátora. Co třeba...

  • Článek je starý, nové názory již nelze přidávat.
  • 22. 2. 2008 19:07

    Miloš (neregistrovaný)

    Nečitelnost není vlastností jazyka ale programátora. Co třeba takhle?

    
    sub merge {
    	my $r_a=shift;
    	my $r_b=shift;
    	my @ret=();
    	my ($ia,$ib)=(0,0);
    	my ($ctia,$ctib)=(1,1);   # 0..necti 1..cti 2..konec
    	my ($maxa,$maxb);         # maximalni indexy
    	my $prveka;
    	my $prvekb;
    
    	$maxa=$#{@{$r_a}};
    	$maxb=$#{@{$r_b}};
    
    	while (1) {
    		$ctia=2 if ($ia>$maxa);
    		$ctib=2 if ($ib>$maxb);
    		last if ($ctia==2 and $ctib==2);
    
    		if ($ctia==1) {
    			$prveka=$r_a->[$ia++];
    			$ctia=0;
    		}
    		if ($ctib==1) {
    			$prvekb=$r_b->[$ib++];
    			$ctib=0;
    		}
    
    		if ($prveka<$prvekb) {
    			push(@ret,$prveka);
    			$ctia=1;
    		}
    		elsif ($prveka==$prvekb) {
    			push(@ret,$prveka);
    			push(@ret,$prvekb);
    			$ctia=$ctib=1;
    		}
    		else {
    			push(@ret,$prvekb);
    			$ctib=1;
    		}
    	}
    	return (\@ret);