Hi Joseph.

R. Joseph Newton wrote:
> Rob Richardson wrote:
>
> > Greetings!
> >
> > I have the following class in a .pm file:
> >
> > use warnings;
> > use strict;
> > package ScheduleDay;
> >
> > use Train;
> >
[snip] 'new' method
> >
> > sub AddTrain
> > {
> >         my $self = shift;
> >         my $trainName = $_[0];
>
> How are you calling this function.  the formulation above looks like
> the call should be:
> AddTrain($schedule_day_object, $train_name);

Yes, but it's

    $schedule_day_object->AddTrain($train_name);

which does that for you.

> If that is the case, then your parameter catch would be neater and
> more understandable as:
> my ($self, $trainName) = @_;
>
> or:
>       my $self = shift;
>       my $trainName = shift;

It's a tradition that methods start with:

    my $self = shift;
    my ( $trainName, $p1, $p2, $p3, @prest ) = @_;

to separate the implicit parameter from the explcit one.
But what Rob R wrote will do just as well.

> >         # $self->{$trainName} = new Train;
> >         # $self->{$trainName}->Load(@_);
> >         print "   Added train named ", $trainName, "<br>";
> > }
> >
> > "Where no one has gone before!";
> >
> > When I run perl -c on this, I get the following messages:
> > Subroutine new redefined at Train.pm line 106.
> > Useless use of a constant in void context at scheduleday.pm line 24.
> > scheduleday.pm syntax OK
>
> Check the package statement in Train.pm, and try compiling it
> separately before using it in this file.
>
> > If I try to print the name of the train as contained in $printName
> > (and as
> > shown above), the result age is never displayed and IE just waits
> > and
> > waits and waits for something that never happens.
>
> $trainName ain't there.  You've already commented out to lines
> dependent on this variable.  Presumably this was because they raised
> errors.  Check how you are getting a value into $trainName.

It looks good to me, but I'm still waiting on the code for Train.pm where
all the bugs really are :)

Rob




-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to