http://www.erlang.org/news/35 ha menzionato che questo sarà documentato, ma non riesco a trovarlo nella documentazione.Che cos'è un modulo tupla in Erlang?
10
A
risposta
13
Un "modulo tupla" è una tupla con due elementi, il nome di un modulo e un elenco di argomenti aggiuntivi. Ad esempio:
{my_module, [foo, bar]}
Tale tupla può essere utilizzata al posto del nome di un modulo nelle chiamate di funzione. In questo caso, la funzione chiamata otterrà tupla in questione come parametro aggiuntivo alla fine dell'elenco di argomenti:
3> Module = {lists, [[foo]]}.
{lists,[[foo]]}
4> Module:append([bar]).
[bar|{lists,[[foo]]}]
Questa chiamata è equivalente a:
7> lists:append([bar], {lists, [[foo]]}).
[bar|{lists,[[foo]]}]
moduli Tuple sono mantenute per compatibilità con le versioni precedenti, in quanto erano il meccanismo di implementazione per parameterised modules, che sono stati rimossi dalla lingua in R16.
Problemi correlati
- 1. Erlang: "anteporre" un elemento a una tupla
- 2. Esiste un modulo che implementa un tipo di array efficiente in Erlang?
- 3. Come chiamare dinamicamente un modulo in Erlang?
- 4. Come si installa un modulo in erlang?
- 5. Erlang: attributo modulo
- 6. Come convertire la tupla in stringa in un oggetto tupla?
- 7. La funzione Erlang non esiste nel modulo?
- 8. Erlang: comportamenti multipli definiti nello stesso modulo?
- 9. Come scrivi un divertimento che è ricorsivo in Erlang?
- 10. Tronca un float in Erlang
- 11. Erlang - C ed Erlang
- 12. Come restituire una tupla in un EitherT
- 13. Inserimento di un elemento in una tupla
- 14. Estrarre un iteratore Prendere in una tupla
- 15. C# Tupla - Che cosa è un uso pratico di Tuple
- 16. spliting un lungo tupla in tuple piccoli
- 17. Combinatore S in Erlang
- 18. Accesso a un valore in una tupla che si trova in un elenco
- 19. Erlang erl_call causa la chiusura del modulo gen_server
- 20. Filtra una tupla con un'altra tupla in Python
- 21. Come creare una tupla di una tupla vuota in Python?
- 22. OCaml - Modello che corrisponde al riferimento elenco in una tupla
- 23. Tupla multipla a tupla a due coppie in Python?
- 24. Python che converte stringa in tupla senza dividere i caratteri
- 25. Modulo di crittografia Erlang - ECDSA, RSA, SHA256 e così via
- 26. Esiste un REPL completo per Erlang?
- 27. Come si elimina un processo in Erlang conoscendo solo il nome del modulo utilizzato per avviarlo?
- 28. In Erlang come posso importare tutte le funzioni da un modulo?
- 29. Parsing JSON in Erlang
- 30. Backtracking in Erlang
ronzio, mi aspettavo [foo, bar] come risultato finale – Isac
Anch'io, quindi la mia scelta di funzione per i test :) – legoscia
Attenzione ad esempio! La libreria standard non si adatta a questa chiamata, poiché l'ultimo argomento è sempre l'intera tupla con la qualifica del modulo, che non è prevista dai moduli std come 'lists' ecc. Gli argomenti non estratti per il compilatore considerano l'arity. Questo può essere utile con nuovi moduli come questo: https://github.com/comtihon/mongodb-erlang. – DenisKolodin