2013-08-12 2 views
1

Я только начал играть с Эрланг и нашел что-то, что меня очень беспокоило. Я думаю, это просто потому, что Эрланг - мой первый «функциональный» язык.Erlang - Создание списка с предопределенными данными

Итак, я хочу создать список, заполненный некоторыми предопределенными данными, такими как [1,1,1,1,1] или [a, a, a], и я не могу найти для этого функцию Erlang? Есть ли? Или единственный способ создать такую ​​функцию вручную, как здесь:

-module(listhelp). 

-export([create/2]). 

create(NumberOfElements, Element) -> 
    create(NumberOfElements, Element, []). 

create(0, Element, List) -> 
    List; 

create(NumberOfElements, Element, List) -> 
    create(NumberOfElements-1, Element, [Element|List]). 

Заранее благодарим за ответы!

+0

Ваша реализация практически идентична [реализации списков: Дублированный] (https://github.com/erlang/otp/blob/01a13c00f67112e7996e45439d4eec9e6aa414ce/lib/stdlib/src/lists.erl#L279-L291), только тест для 'N' является неотрицательным целым числом. – legoscia

ответ

3

Есть ли в списке: duplicate/2 what you want?

1> lists:duplicate(5,1). 
[1,1,1,1,1]. 
+0

Да, спасибо !!! – matekm