在Elixir中创建大小为n的默认初始化列表

Luc*_*ier 4 erlang elixir

是否有Elixir或Erlang函数创建大小为n的列表,默认使用给定值初始化?

其他语言的功能示例:

# Python
l = [0] * 5

# Ruby
l = Array.new(5, 0)

# => [0, 0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)

nie*_*aki 14

List.duplicate/2:

iex(1)> List.duplicate(:foo, 3)
[:foo, :foo, :foo]
Run Code Online (Sandbox Code Playgroud)

如果您想要使用某些计算结果初始化列表而不是静态值,您可以始终使用它来进行理解:

iex(2)> for _i <- 1..3, do: :erlang.timestamp()
[{1484, 271802, 581891}, {1484, 271802, 581900}, {1484, 271802, 581906}]
Run Code Online (Sandbox Code Playgroud)

  • 我不敢相信我在搜索文档时忽略了`List.duplicate`。正是我需要的,谢谢! (2认同)