2017-05-20 2 views
1

Je voudrais comprendre la différence entre un fichier .m et un fichier .mi en Perl/Mason.En Perl Mason quelle est la différence entre le fichier .m et le fichier .mi?

selon les composants de maçon documents

.MI - composant interne. Un composant interne n'est accessible qu'à partir d'autres composants.

Je peux voir que je peux appeler des méthodes spécifiques écrites dans un fichier .MI par

$m->comp('test.mi:randomMethod', arg1=> 'blah')

Puis-je faire la même chose pour mon fichier .m ainsi? Comme tous les endroits existants, j'ai cherché en ligne. Je n'ai trouvé qu'un fichier sans méthodes et le fichier entier est exécuté à l'appel.

$m->comp('test.m', arg1=> 'blah') exécute le fichier entier car il n'a pas de méthodes.

Ainsi,

  1. Je voudrais connaître la différence entre les deux extensions de fichier

  2. Puis-je avoir des méthodes similaires à .mi dans le fichier .m et appeler ces méthodes spécifiquement?

  3. Quand devrais-je choisir le fichier .m et quand le fichier .mi?

+0

Avez-vous essayé? Ou évaluez-vous d'utiliser Mason avant d'essayer? – simbabque

+0

Un fichier .m sortant est en train de faire quelque chose. Il n'a pas de méthodes. Mais où le fichier .mi a des méthodes et spécifiquement ces méthodes seules peuvent être appelées. est-ce possible dans le fichier .m? Je veux comprendre avant de les essayer. – achut1993

+0

Je n'ai jamais utilisé Mason, donc je n'en ai aucune idée. J'essayais de vous aider à clarifier votre question.Mais ma suggestion est que vous venez de créer un nouveau fichier. M, mettez une méthode _hello world_ et essayez. :) – simbabque

Répondre

0

Je n'ai jamais vu .mp, .mc et .MI pour Mason Perl, Mason Component et Mason interne respectivement. Mais ils sont configurables

Si vous lisez PARAMETRES à la nouvelle() CONSTRUCTEUR de la documentation Mason::Interp, vous voyez wqill que vous pouvez spécifier une valeur pour pure_perl_extensions pour changer la valeur par défaut de .mp et top_level_extensions pour .mc

Il y a toutes les raisons de garder à ces normes, unles vous travaillez avec deux normes contradictoires et ont besoin d'un à sortir de la voie

Je ne sais pas si .mi est requis, mais cela semble improbable. Et je ne me souviens pas d'avoir vu un simple .m. Où l'avez-vous vu vous-même, et ne devrait-il pas s'agir d'un fichier .mi? -i.e. est l'exemple que vous avez vu un composant interne?