Sto osservando la fonte di base.pm
nella distribuzione Perl e non vedo cosa lo distingua da un modulo "non pragmatico". Se use base
è un "pragma", è fondamentalmente diverso in qualsiasi modo da use Foo
dove Foo
è un qualsiasi modulo?Cosa rende un modulo un modulo pragmatico?
risposta
Non esiste una definizione solida per pragma. Il più vicino a qualcosa di ufficiale è in perlpragma.
- Di solito modificano la lingua o il comportamento del parser.
- Il loro effetto è generalmente in ambito lessicale.
Credo personalmente questi sono requisiti (e sembra che perlpragma non troppo), ma moduli di base vars e subs documentate essere pragmas anche se il loro effetto non è lessicale scope.
base e lib non corrispondono a nessuno dei criteri. Quello che fanno è fornire informazioni a "Perl stesso". Suppongo che si qualifichi anche come un pragma.
Ritengo che il mio modulo use syntax qw(loop);
sia pragmatico. (Plug spudorato!)
Mentre il nome è spesso utilizzato in molti contesti, di solito penso a un pragma come qualcosa che utilizza l'hash di suggerimenti %^H
come documentato in perldoc perlpragma. Ciò significa che la principale differenza è che l'azione DEVE essere in fase di compilazione; use
funziona mentre require
(non in BEGIN) no. Questa è una differenza fondamentale tra un "modulo pragmatico" (con questa definizione) e altri moduli. Con questa definizione nessuno di vars
, subs
, base
o lib
sono pragmi.
- 1. Incluso un modulo nell'altro modulo
- 2. Che cosa rende un input vulnerabile a XSS?
- 3. Aggiunta di un elemento modulo personalizzato a un modulo Adminhtml
- 4. Cosa rende qualcosa un "oggetto tratto"?
- 5. serializza senza un modulo?
- 6. Esporta un modulo importato
- 7. Estensione di un modulo Ruby in un altro modulo, compresi i metodi del modulo
- 8. Cosa significa rinominare nel tag del modulo di un modulo GWT?
- 9. Python oggetto importazione che ha origine in un unico modulo da un modulo diverso in un terzo modulo
- 10. Ruby: cosa significa modulo incluso in un metodo?
- 11. Cosa succede quando importa un modulo in ironpython?
- 12. Cosa potrebbe causare l'importazione di un modulo python due volte?
- 13. CSS stili hover modulo quando all'interno di un altro modulo
- 14. Creazione di un modulo python
- 15. Invia un modulo in UIWebView
- 16. Creare un modulo da un modello ricorsivo
- 17. scaricare un modulo in Python
- 18. Cosa succede se un finalizzatore rende un oggetto raggiungibile?
- 19. Cosa rende FederatedAuthentication.SessionAuthenticationModule restituito NULL?
- 20. = button_to non genera modulo se già in un altro modulo
- 21. Yii2: convalida del modulo Ajax su un modulo inviato Ajax
- 22. Estrai nomi campo modulo PDF da un modulo PDF
- 23. Come creare un campo modulo personalizzato raggruppando altri campi modulo?
- 24. Genera automaticamente campi modulo per un modulo in django
- 25. Modulo dipendente da un altro modulo in Dagger
- 26. Come modificare una variabile del modulo da un altro modulo?
- 27. più pulsanti su un modulo
- 28. Includere un modulo in verilog
- 29. CSS Flexbox in un modulo
- 30. php modulo in un ciclo
Dimenticato per coprire effettivamente base.pm. Indirizzata questa omissione. – ikegami
Il mio commento è diventato una risposta a se stante :-) –