2015-10-04 13 views
6

Na przykładDlaczego nie możesz mieć zmiennej jako klucza w dosłownym znaczeniu mapy?

x = "foo" 
%{foo => 1} 

**(CompileError) iex:11: illegal use of variable x in map key 

Oczywiście buduje mapę w czasie kompilacji, który może być bardziej wydajny, ale dlaczego nie spaść z powrotem do konstruktora wykonawczego jak większość języków z literałów struktury danych? Chciałbym wiedzieć, czy brakuje mi cech charakterystycznych map w Elixir.

Dodanie do zamieszania jest to Google Groups message od ponad roku temu, gdzie José Valim mówi:

Variable keys in maps will be available in the next Erlang release. 

Ale to było rok temu, teraz, i nie mogę znaleźć żadnych innych odniesień do tego. Do jakiej wersji Erlanga się odnosił? Mam teraz 18 lat i na pewno wciąż nie ma go na swoim miejscu.

Odpowiedz

14

Erlang 18 dodał wsparcie dla niego i musimy zaktualizować Elixir, aby to wykorzystać. Dlatego planujemy wesprzeć go w następnej wersji Elixir, Elixir v1.2.

Powiązane problemy