On Tuesday, September 30, 2003, at 06:51 PM, [EMAIL PROTECTED] wrote:

James and Bob,

OK version x.2
- I want to create a user object with value initialized.

I showed you how to do this in my last message. Go back and take a look.


- Initialize/Change it anytime

It's best to do this with accessor methods. You should have one for each name. Can you figure those out from my full_name() example?


test.pl
-------

What's still missing here? ;)


use UserInfo;

Okay, UserInfo is better, but doesn't tell us much. I was thinking something more like ComputerUser, DatabaseUser, GymUser, etc.


my $ui = new UserInfo();
$ui->(fname) = "bob";
$ui->(lname) = "Bingham";

#change name
$ui->(fname) = "robert";

This works, but again, accessor methods would be better.


print "ui: [" . $ui->full_name() . "]\n";

exit

This isn't a great habit. We don't need it, so leave it out.


UserInfo.pm
-----------
#!/usr/bin/perl
package UserInfo;

Hmm, something is still missing here too... :D


sub new
{ my $class = shift;
  my $self = { fname, lname };

That's not what I said, is it? Your making an anonymous hash here and storing a reference to it. Hashes have key value pairs. Take a look at my code again.


You also broke my initialization trick by changing the above line...

  return bless $self, $class;
}

sub full_name
{ my $self = shift;
  return $self->{fname} . ' ' . $self->{lname};
}

1;

Just shout if you need more help, but make sure you're looking at what I'm sending you. The answers are in my last message, mostly.


James


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



Reply via email to