Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Time to buy some pills

by jarich (Curate)
on Jun 26, 2002 at 06:56 UTC ( #177314=note: print w/ replies, xml ) Need Help??


in reply to Time to buy some pills

sub new { my ($class, $self) = @_; unless (&work($self) || &sleep($self)) { $self->smoke; $self->cancer_probablity += rand(0.001); } bless ($self, undef); }
Surely you meant:
sub new { my ($class, $self) = @_; unless ($self->work() || $self->sleep()) { $self->smoke; $self->cancer_probablity += rand(0.001); } bless ($self, undef); }
This reads better to me:
unless I go to work, or I got to sleep....

My auto-biography in perl poetry would be a lot longer:

package Jarich; use strict; sub new { my ($class) = @_; bless ({}, $class); } sub freeload { my @needs = qw/money clothes shoes money books computers games bedding sleep time food/; print "Mum/Dad I need more ", $needs[rand(@needs)], "\n"; } sub annoy_parents { my @actions = ("hit sister", "kick dog", "whine", "whine", "whine", "need more", "beg", "borrow", "steal", "go out with a dag"); print $actions[rand(@actions)], "\n"; print $actions[rand(@actions)], "\n"; } sub live { my $self = shift; my @actions = ("drink", "cycle", "play", "paint", "eat"); # fun stuff on weekends. if(rand(7) <= 2) { print $actions[rand(@actions)], " "; $self->{cancer_probablity} += rand(0.0001); } else { $self->work(); } $self->sleep(); } sub work { print "bored bored bored bored bored: ke-ching! Money++"; } sub sleep { print "ZZZZZzzzzzzzzzzzzzzzzzzz\n"; } sub die { my $self = shift; if(rand(100) < 2) { return 1; } elsif($self->{cancer_probability} > 100) { return 1; } return 0; } #======================================================== package Main; my $jarich = new Jarich; my $age = 0; until ($age++ > 18) { $jarich->freeload() && $jarich->annoy_parents(); } until ($jarich->die()) { $jarich->live(); $age++; } print "RIP jarich. 1978-", 1978+$age, "\n";
But that's because I'm a pedant, and insist on code that does stuff. :) (My own version has moved all the arrays out of the functions and into the object but that doesn't look as nice.)

jarich


Comment on Re: Time to buy some pills
Select or Download Code
Re: Re: Time to buy some pills
by frankus (Priest) on Jun 26, 2002 at 09:45 UTC
    Um the $self->work() won't work as the object hasn't been blessed.

    --

    Brother Frankus.

    ¤

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://177314]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (9)
As of 2014-07-28 14:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (200 votes), past polls