Czy można szybciej wypisać odpowiednik tej funkcji?Erlang: "poprzedzanie" elementu krotką
6
A
Odpowiedz
3
jako poprzedzenie elementu jest takie samo jak umieszczenie go w pozycji 1, można korzystać z wbudowaną funkcję erlang:insert_element/3
:
> erlang:insert_element(1, {a, b}, z).
{z,a,b}
Funkcja dodano Erlang/OTP R16a.
8
Wygląda na to, że takie rzeczy są odradzane. Jeśli chcesz listę, użyj jednego.
Krotki mają stałą liczbę rzeczy w nich.
6
Jeśli masz skończoną liczbę możliwych długościach krotka, można to zrobić:
prepend(X, {}) -> {X};
prepend(X, {A}) -> {X, A};
prepend(X, {A, B}) -> {X, A, B};
prepend(X, {A, B, C}) -> {X, A, B, C}.
Można kontynuować ten wzór tak długo, jak trzeba.
Powiązane problemy
- 1. Szyki Bash: dołączanie i poprzedzanie każdego elementu w tablicy
- 2. nowy typ wieloparametrowy sfałszowany krotką?
- 3. Jak iterować nad krotką TR1
- 4. Jak uruchomić aplikację Erlang wewnątrz powłoki Erlang
- 5. Nowe formatowanie stylu z krotką jako argumentem
- 6. Jaka jest różnica między krotką a kompresją?
- 7. mata nie jest krotką numeryczna: error OpenCV
- 8. Czy istnieje różnica między listą a krotką?
- 9. Różnica między krotką a ustawieniem w mdx
- 10. Erlang pytania
- 11. Pandas DataFrame z krotką ciągu znaków jako indeksem
- 12. Fałdy porównaniu rekursji w Erlang
- 13. Konwertuj terminy erlang na ciąg lub dekoduj binarny kod erlang
- 14. Przekształcanie przykładu portu Erlang-C w Erlang-Golang
- 15. erlang BEAM bytecode
- 16. Błąd wyjątku w Erlang
- 17. Dlaczego kompilacja erlang: foo()?
- 18. Erlang lista poz rekord
- 19. System typu Erlang
- 20. Zmienne anonimowe w Erlang
- 21. Gdzie są biblioteki Erlang?
- 22. Erlang: atomy lub całkowite
- 23. Erlang records records
- 24. Profiler/Analyzer dla Erlang?
- 25. Dopasowany binarne w Erlang
- 26. Erlang i Antlr
- 27. Optymalizacje kompilatora Erlang
- 28. Biblioteka serializacji Erlang
- 29. funkcja mapowa w Erlang
- 30. Erlang zgłaszane epmd_closed błąd
Zdecydowanie, jeśli zamiast tego chcesz użyć struktury dynamicznej, użyj list. – rvirding
Moim faktycznym przypadkiem użycia jest to, że mam kilka funkcji, które zwracają "surowe" krotki (np. '{Name, Age}') i wolą zamienić je w krotki z tagami ('{person, Name, Age}'). Nie chcę w ogóle struktury dynamicznej. –
jest dla ciebie głębszą strukturą? jak {osoba, {imię, wiek}}? Więc możesz wywołać funkcję z tym znacznikiem: {person, who (Args)} .. – user425720