Wikipedia dice "Perl 6 offre un sistema di scrittura ibrido in base al quale il programmatore può scegliere di utilizzare la digitazione statica, utilizzare la digitazione dinamica o miscelare i due". Come funziona la scrittura ibrida? Usare la tipizzazione statica in Perl significa semplicemente che dichiaro un tipo e devo esplicitamente trasmettere stringhe ai numeri e viceversa in cambio della sicurezza e della velocità di esecuzione? Ho notato che sembra che ci siano pochissime informazioni su questa funzione.Come funziona la digitazione ibrida?
risposta
Da quanto ho capito, la tipizzazione ibrido significa semplicemente che tipo sono supportate le annotazioni, ma facoltativo:
my Int $i = 0; # static typing
my $i = 0; # dynamic typing
Quando si utilizzano le annotazioni di tipo esplicite, il compilatore può controllare le cose per voi e magari ottimizzare il codice migliore . Ci sono caratteristiche simili in altre lingue, anche, come Objective-C:
NSString *foo = @"foo"; // explicit type signature, static typing
id foo = @"foo"; // dynamic typing
Tecnicamente parlando, questo non è esattamente la differenza tra tipizzazione statica e dinamica. Esistono lingue con un sistema di tipi statici che non richiede le annotazioni di tipo esplicito. In Swift o Haskell, puoi dire cose come let f = 0
(senza un'annotazione di tipo) e ancora ottenere il controllo di tipo statico grazie all'inferenza di tipo. Vedi anche What to know before debating type systems.
Esistono anche altre funzionalità più interessanti relative alla differenza tra digitazione statica e dinamica in Perl 6, vedere Jnthn’s talk.
- 1. Come funziona la digitazione in tempo reale in Google Wave?
- 2. Come specificare una mappa ibrida?
- 3. Mostra testo durante la digitazione
- 4. Digitazione dinamica senza digitazione anatra?
- 5. Come si simula la digitazione con jQuery?
- 6. Che cos'è la digitazione dipendente?
- 7. stampa lentamente (Simula la digitazione)
- 8. Dalla digitazione statica alla digitazione dinamica
- 9. Come funzionano la digitazione e la coercizione delegate/lambda?
- 10. Aggiornamento casella di testo durante la digitazione
- 11. Kendo UI Datepicker disabilita la digitazione
- 12. Combobox wrap text durante la digitazione
- 13. Xcode scorre il testo durante la digitazione
- 14. Perché DateTimePicker BackColor Disabilita la digitazione manuale?
- 15. Digitazione dinamica in C#
- 16. Java interrompe la digitazione! Chi può spiegarlo?
- 17. Digitazione implicita e TDD
- 18. Come mostrare il completamento automatico durante la digitazione in JTextArea?
- 19. Come convalidare forma in Magento JavaScript durante la digitazione
- 20. iPhone come ottenere il testo di UITextField durante la digitazione?
- 21. Come simulare la digitazione nel campo di input usando jQuery?
- 22. Come filtrare l'occupazione durante la digitazione in MVC3
- 23. Come usare numpy nella digitazione opzionale
- 24. Interrogazione di una proprietà ibrida in SQLAlchemy
- 25. Che cos'è un'app ibrida per dispositivi mobili?
- 26. EditText si blocca/non mostra il testo durante la digitazione
- 27. Jquery: elenco a discesa dei filtri durante la digitazione
- 28. MEF (Managed Extensibility Framework) esegue la digitazione "duck"?
- 29. Codifica che minimizza la lettura errata/l'errata digitazione/l'errata registrazione?
- 30. "Aggiungi controller"/"Aggiungi vista" in un'applicazione ibrida MVC/WebForm ASP.NET
Quando aggiungi un tipo lo controlla sempre per te, che è diverso da quello che hai scritto. –