Mais c'est magnifique toutes ces r�ponses...d�sol� de pas avoir r�agi plus
t�t, j'�tais un peu entre la Suisse et l'Equateur... ;)
Merci � tous pour vos pr�cieux conseils et diff�rentes versions de
solutions, je vais regarder tout �a avec la plus grande attention.
Vince

> -----Message d'origine-----
> De : [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]De la part de Marc SCHAEFER
> Envoy� : dimanche, 7. avril 2002 09:14
> � : Groupe Utilisateurs Linux L�man
> Objet : Re: fnct PHP pour caract�res accentu�s dans les urls
>
>
> On Sun, 7 Apr 2002, F�lix Hauri wrote:
>
> > > D'ailleurs ceux-ci sont �galement assez bien fournis au niveau des
> > > resources de plus il sont nettements mieux structur�s et un poil plus
> > > stricts (j'exag�re mais c'est un peut comme comparer du C avec de
> > > l'ADA ou avec du Pascal).
> > Voui, alors l�, tes propos n'engagent que toi!
> > Mais tu l'as dis au d�but: l'�gout, lait cool heure;)
>
> Je ne dirai rien, je donnerai un exemple acad�mique, simplifi� et non
> comment�, pour seconder ce que dit F�lix, afin de montrer que Perl propose
> des paradigmes assez int�ressants:
>
> use strict;
> use Croak;
>
> package Rectangle;
> sub new {
>       my ($class, $length, $width) = @_;
>
>       return bless { 'length' => $length,
>                      'width'  => $width
>                    },
>                    $class;
> }
>
> sub DESTROY {
>    my $self = shift;
> }
>
> sub set_length {
>    my ($self, $length) = @_;
>
>    $self->{'length'} = $length;
> }
>
> sub set_width {
>    my ($self, $width) = @_;
>
>    $self->{'width'} = $width;
> }
>
> sub get_length {
>    my $self = shift;
>
>    return $self->{'length'};
> }
>
> sub get_width {
>    my $self = shift;
>
>    return $self->{'width'};
> }
>
> sub get_surface {
>    my $self = shift;
>
>    return $self->get_width() * $self->get_length();
> }
>
> sub get_representation {
>    my $self = shift;
>
>    return "RECT[" . $self->get_length() . ", " . $self->get_width() . "]";
> }
>
> sub is_bigger_than {
>    my ($self, $other) = @_;
>
>    if ($self->get_surface() > $other->get_surface()) {
>       return 1;
>    }
>    else {
>       return 0;
>    }
> }
>
> package Square;
> use vars qw(@ISA);
> use Carp;
>
> @ISA = qw (Rectangle);
>
> sub new {
>    my ($class, $side) = @_;
>
>    my $self = Rectangle->new($side, $side);
>
>    return bless $self,
>                 $class;
> }
>
> sub get_representation {
>    my $self = shift;
>
>    return "SQUARE[" . $self->get_side() . " ^2] ";
> }
>
> sub set_side {
>    my ($self, $side) = @_;
>
>    $self->SUPER::set_length($side);
>    $self->SUPER::set_width($side);
> }
>
> sub get_side {
>    my $self = shift;
>
>    my $side = $self->SUPER::get_length();
>    if ($side != $self->SUPER::get_width()) {
>       confess("assertion failed: side == length; !=width");
>    }
>
>    return $side;
> }
>
> package main;
> use Carp;
>
> print "Starting program.\n";
>
> my $rectangle_1 = Rectangle->new(3, 4);
> if (defined($rectangle_1)) {
>    my $square_1 = Square->new(5);
>    if (defined($square_1)) {
>       if ($square_1->is_bigger_than($rectangle_1)) {
>          print "This square instance is bigger than this rectangle.\n";
>       }
>       print "Deleting object: ", $rectangle_1, ".\n";
>       undef $rectangle_1;
>       print "Deleting object: ", $square_1, ".\n";
>       undef $square_1;
>    }
>    else {
>       croak "Couldn't allocate Square instance.\n";
>    }
> }
> else {
>    croak "Couldn't allocate Rectangle instance.\n";
> }
>
> print "Ending program.\n";
> exit(0);
>
>
> --
> http://www-internal.alphanet.ch/linux-leman/ avant de poser
> une question. Ouais, pour se d�sabonner aussi.
>

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à