【发布时间】:2017-11-06 03:04:19
【问题描述】:
在官方文档中:https://elixir-lang.org/getting-started/basic-types.html 说:
iex> tuple = {:a, :b, :c, :d} iex> put_elem(tuple, 2, :e) {:a, :b, :e, :d}请注意,这仅适用于元组本身,而不适用于其内容。为了 例如,当您更新元组时,所有条目都在 旧元组和新元组,已被替换的条目除外。在 换句话说,Elixir 中的元组和列表能够共享它们的 内容。这减少了语言的内存分配量 需要执行并且只有在不可变的情况下才有可能 语言的语义。
这是否意味着:在更改元组期间,新旧元组使用相同的内存地址共享数据,而不是像在 erlang 中那样分配新内存?
【问题讨论】:
标签: elixir