pechkin: (Default)
pechkin ([personal profile] pechkin) wrote2006-01-05 02:04 pm
Entry tags:

Правда, дети, я хорош, на большой мешок похож?

Программистское, страшное и смешное

О Шароне мне написать как-то нечего, а вот о работе -- есть чего, жаль, мало кто поймет.


    ...
my %other_hand = (left => 'right', 
		  right => 'left');
my %tape = (left => $rlStack->[-1],
	    right => $input[0]);

my $failed;
map(
       {
	   if ($tape{$_}->isa('ABCDTokenDATE'))
	   {
	       $rhState->{TmpData}->{$other_hand{$_}}->{year} = $tape{$_}->year;
	       $rhState->{TmpData}->{$_}->{date} = $tape{$_};
	   }
	   elsif ($tape{$_}->isa('ABCSymbolRangeNumeric')
		  && $tape{$_}->type == $ABCSymbolRangeNumeric::type_integer)
	   {
	       $rhState->{TmpData}->{$_}->{day} = $tape{$_}->left->value;
	       $rhState->{TmpData}->{$_}->{month} => $tape{$_}->right->value;
	   }
	   else
	   {	
	       $failed = 1;
	   }
       } qw(left right));

return 1 if (!$failed && 
	     #if at least one date
	     (grep(exists($rhState->{TmpData}->{$_}->{date}), keys(%other_hand))
	      #or two numeric ranges
	      || !grep(!exists($rhState->{TmpData}->{$_}->{month}), keys(%other_hand)));

Стало так:

	     my $success = 0;
	     map(
		 {
		     if ($tape{$_}->isa('ABCDTokenDATE'))
		     {
			 $rhState->{TmpData}->{$other_hand{$_}}->{year} = $tape{$_}->year;
			 $rhState->{TmpData}->{$_}->{date} = $tape{$_};
			 $success++;
		     }
		     elsif ($tape{$_}->isa('ABCSymbolRangeNumeric')
			    && $tape{$_}->type == $ABCSymbolRangeNumeric::type_integer)
		     {
			 $rhState->{TmpData}->{$_}->{day} = $tape{$_}->left->value;
			 $rhState->{TmpData}->{$_}->{month} => $tape{$_}->right->value;
			 $success += .5;
		     }
		 } qw(left right));

	return $success > .5;

[identity profile] alesha-ru.livejournal.com 2006-01-05 01:53 pm (UTC)(link)
все таки кривой код не перле вызван не особенностями языка,
а особенностями мЫшления...

[identity profile] pechkin.livejournal.com 2006-01-05 10:31 pm (UTC)(link)
Несомненно. Весь вопрос только -- это к первому стиху больше относится, или во втором наблюдается в не меньшей мере?

[identity profile] alesha-ru.livejournal.com 2006-01-06 07:38 am (UTC)(link)
ну.....

будем считать что второй стих выглядит симпатичнее, хотя также вызывает у внимательного критика массу вопросов :)

[identity profile] bimdusha.livejournal.com 2006-01-05 02:41 pm (UTC)(link)
А мне после кубейсика объектно_что-то_там язык не осилить, и для простой формы не родить скрипт. Может подскажешь генератор какй несложный?

[identity profile] pechkin.livejournal.com 2006-01-05 10:33 pm (UTC)(link)
Вот чего не знаю, того не знаю.