版本:1.2.2,错误:
List.flatten([a,[b]])应该返回([a,b])。但是,这在某些情况下无法正常工作。例如,当期望([11,12,13])时,List.flatten([11,[[12],13]])返回'\ v \ f \ r'。甚至List.flatten([10])也返回'\ n'。
为什么会发生这种情况?解决方法是什么(如果有)?
正如greggreg所解释的那样,最终列表[11,12,13]看起来像是'\ v \ f \ r'的原因,是因为它包含所有可打印的acsii代码点。因此输出是一个字符列表。
如果您需要从此列表中获取数字而不是字符,则可以执行以下操作:
iex> sample_list = [11,12,13]
iex> [first | rest] = sample_list
iex> [second | rest] = rest
iex> [third | rest] = rest
iex> first
iex> 11
iex> second
iex> 12
iex> third
iex> 13
因此,基本上,当您从列表中取出数字时,该数字将转换为整数。现在,由于它不是列表,因此无法将其转换为字符列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句