GoGPT Best VPN GoSearch

Icône de favori OnWorks

PDL::Objectsp - En ligne dans le Cloud

Exécutez PDL :: Objectsp dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande PDL::Objectsp qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


PDL::Objects -- Object-Orientation, qu'est-ce que c'est et comment l'exploiter

DESCRIPTION


Cela doit encore être écrit correctement. [De plus, y a-t-il une bonne raison pour laquelle nous ne recommandons pas
stocker des données d'objet supplémentaires dans le hachage d'en-tête ?]

Droit des successions
Il y a essentiellement deux raisons de sous-classer les piddles. La première est simplement que vous
voulez pouvoir utiliser vos propres routines comme

$piddle->quelque chose()

mais ne voulez pas gâcher l'espace de noms PDL (un objectif louable, en effet !). L'autre est que
vous souhaitez fournir un traitement spécial de certaines fonctions ou plus d'informations sur les données
le piddle contient. Dans le premier cas, vous pouvez faire avec

paquet BARRE;
@ISA=qw/PDL/;
sub foo {my($this) = @_; violon;}

paquet principal;
$a = PDL::pdl(BAR,5) ;
$a->foo();

Cependant, comme un objet PDL est une référence opaque à une structure C, il n'est pas possible de
étendre la classe PDL en par exemple des données supplémentaires via le sous-classement. Pour contourner ce problème
PerlDL a un support intégré pour étendre la classe PDL via le a un relation pour les bienheureux
hachages. Vous pouvez obtenir le A UN se comporter comme EST UN simplement en ce que vous affectez l'objet "PDL"
à l'attribut nommé PDL et redéfinir la méthode initialiser().

paquet FOO;

@FOO::ISA = qw(PDL);
sous-initialiser {
ma $classe = shift;
mon $self = {
creation_time => time(), # extension nécessaire :-)
PDL => null, # utilisé pour stocker l'objet PDL
};
bénissez $self, $class ;
}

Tous les constructeurs PDL appelleront initialiser() pour vous assurer que vos extensions sont ajoutées par
tous Constructeurs PDL automatiquement. L'attribut "PDL" est utilisé par perlDL pour stocker les
L'objet PDL et toutes les méthodes PDL utilisent cet attribut automatiquement s'ils sont appelés avec un
référence de hachage béni au lieu d'un objet PDL (un scalaire béni).

N'oubliez pas que si vous sous-classez une classe qui est sous-classée à partir d'un piddle, vous devez
appelez SUPER :: initialiser.

BESOIN DE RENSEIGNEMENTS SUR LES REF DE CODE !!

Exemples
Vous pouvez trouver quelques exemples simples de sous-classement PDL dans le cas de test de la distribution PDL
des dossiers. Regardez dans "t/subclass2.t", "t/subclass3.t", etc.

Sortie Création automatique et Sous-classé Objets
Pour les fonctions PDL où la sortie est créée et renvoyée, PDL appellera soit le
la méthode "initialiser" ou "copier" de l'objet sous-classé pour créer l'objet de sortie. (Voir
PDL::Indexing pour une discussion sur la création automatique de sortie.) Ce comportement est résumé comme suit
suit:

·
Pour Simple fonctions, définies comme ayant une signature de

fonction( a(), [o]b() )

PDL appellera $a->copy pour créer l'objet de sortie.

Dans l'esprit de la philosophie Perl de faire Facile Choses Facile, Ce comportement permet
Objets sous-classés PDL à écrire sans avoir à surcharger les nombreux PDL simples
fonctions dans cette catégorie.

Le fichier t/subclass4.t dans la distribution PDL teste ce comportement. Voir ce fichier
à titre d'exemple.

·
Pour les autres fonctions, PDL appellera $class->initialize pour créer l'objet de sortie. Où
$class est le nom de classe du premier argument fourni à la fonction.

Pour ces cas plus complexes, il est difficile de deviner l'objet sous-classé
designer pour savoir si une "copie" ou une "initialisation" est appropriée. Donc pour ces cas,
$class->initialize est appelé par défaut. Si cela ne vous convient pas, surchargez le
fonction dans votre sous-classe et faites ce qui est approprié est la fonction surchargée
code.

Utilisez PDL::Objectsp en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.