команды выглядят как шутка плохого дизайнера. Почему, если функция length работает ТОЛЬКО с листом - её не запихнули в модуль List? Как узнать длину tuple? Может у меня опыта это понять не хватает?
Наверное потому что в ерланге length не в lists модуле. Тапл не динамически изменяемая структура(точнее плохая практика использовать его как лист)
Ты же только что устраивался в фанбокс? Передумал?
iex(1)> tuple_size {} 0 iex(2)> map_size %{} 0 iex(3)> length [] 0
Не запихнули в List - чтобы не дублировать.
А ещё все 3 функции идут из Erlang-а и там так же и называются. По сути это наследие. И ещё обычно в Kernel-е (или erlang модуле) функции, которые имплементированы нативно. В Elixir-е конечно есть пару исключений, но в целом логика такая.
А ты с какими языками знаком ранее?
Обсуждают сегодня