2012-11-07 5 views
12

J'ai deux fichiers Perl 6:Comment inclure le fichier en Perl 6

hello.p6:

sub hello 
{ 
    say 'hello'; 
} 

et main.p6:

require 'hello.p6'; 

hello(); 

Mais ne fonctionnent pas. Comment faire pour inclure le premier fichier dans le script principal?

+0

peut vous expliquer pourquoi cela ne fonctionne pas? Quelle erreur obtenez vous? également, pourquoi ne pas jeter un coup d'œil à l'utilisation des paquets et du module Exportateur? – Blaskovicz

+0

@Blaskovicz - perl6 n'utilise pas l'exportateur. – Coke

Répondre

4

Utilisation de la syntaxe de fichier explicite et liste d'exportation explicite semble fonctionner pour moi dans Rakudo:

main.p6:

require Hello:file('Hello.p6') <hello>; 

hello(); 

hello.p6:

sub hello { 
    say 'hello'; 
} 

Source: http://perlcabal.org/syn/S11.html#Runtime_Importation

5

Juste pour le compte rendu, la bonne solution est d'utiliser un module:

Fichier Hello.pm6

module Hello; 
sub hello() is export { 
    say 'hello'; 
} 

fichier hello.p6:

use v6; 
use lib '.'; # to search for Hello.pm6 in the current dir 
use Hello; 
hello;