A volte non voglio i file multipli, specialmente se sto giocando con l'idea che voglio mantenere una bella struttura che può trasformarsi in qualcosa in seguito. Mi piacerebbe fare qualcosa di simile:Come posso dichiarare e utilizzare un modulo Perl 6 nello stesso file del programma?
module Foo {
sub foo (Int:D $number) is export {
say "In Foo";
}
}
foo(137);
L'esecuzione di questo, ottengo un errore di compilazione (che credo sia un po 'strano per un linguaggio dinamico):
===SORRY!=== Error while compiling /Users/brian/Desktop/multi.pl
Undeclared routine:
foo used at line 9
lettura the Perl 6 "Modules" documentation, ho non vedo alcun modo per farlo poiché i vari verbi vogliono guardare in un particolare file.
> ottengo un errore di compilazione (che credo sia un po 'strano per un linguaggio dinamico) vi siete guardò attraverso eccellente PDF jnthn [Andare oltre statico vs. dinamico] (http://www.jnthn.net /papers/2015-fosdem-static-dynamic.pdf)? (jnthn era malato al momento e ci sono altri problemi minori quindi [la sua presentazione dal vivo] (https://www.youtube.com/watch?v=id4pDstMu1s&index=19&list=PLRuESFRW2Fa77XObvk7-BYVFwobZHdXdK) non è grandiosa ma è OK.) – raiph
@raiph L'ho letto molto tempo fa, ma penso che dovrai dire di più per esprimere un punto. –
Aiui Perl 6 è in parte un linguaggio statico, ad esempio è generalmente in grado di eseguire la verifica del tipo e la risoluzione di invio per multisub (ad esempio operatori) e metodi privati in fase di compilazione. Ho preso il tuo commento "strano" per significare che non hai visto le cose in quel modo e ti sei chiesto se avessi visto la presentazione di jnthn. – raiph