Hill, Ronald wrote:
> 
> >   my $dt_set =  $sunrise->sunrise_set( %optional_parameters );
> >   my $dt_set2 = $sunrise->sunset_set( %optional_parameters );
> 
> I don't understand this?

I made a few changes, I hope it makes more sense:

  my $sun = DateTime::Event::Sunrise->new(
                  longitude =>'-118' ,
                  latitude => '33' );

  my $dt1 = $sun->sunrise_datetime( $dt );
  print "Sunrise is:" , $dt1->datetime  , "\n";
  my $dt2 = $sun->sunset_datetime( $dt );
  print "Sunset is:" ,  $dt2->datetime , "\n";

  my $dt_span = $sun->sunrise_sunset_span( datetime => $dt );
  print "Sunrise is:" , $dt_span->start->datetime , "\n";
  print "Sunset is:" ,  $dt_span->end->datetime   , "\n";

  my $sunrise_set = $sun->sunrise( %optional_span );
  print "Sunrise is:" , $sunrise_set->previous( $dt ) , "\n";
  my $sunset_set  = $sun->sunset ( %optional_span );
  print "Sunset is:" ,  $sunset_set->next( $dt )      , "\n";


I mean, you have a single factory object -
It can make DT, DT::Set, and DT::Span objects.

I'm not sure whether "sunrise_set()" is a better name than "sunrise()",
for the method that makes DT::Sets.

This is overkill, maybe: (and the name is very strange)

  my $sunny_spanset = $sun->sunrise_sunset_spanset( %optional_span );
  print "This is night\n" 
    unless $sunny_spanset->contains( $dt );


- Flavio S. Glock

Reply via email to