You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elixir脚本中Enum.to_list报‘第二个参数无效’问题排查

Elixir脚本错误原因及修复
  • 错误根源在String.split(line, ';'):Elixir中';'是字符列表(charlist)类型,而String.split/2的第二个参数要求是字符串(binary)或正则表达式。传入字符列表会触发参数匹配错误,错误提示指向Enum.to_list是因为管道流是延迟执行的,只有当Enum.to_list触发流计算时,之前的错误才会暴露出来。

  • 修复后的代码:

File.stream!(cfile)
|> Stream.map(fn line -> line |> String.trim() |> String.split(";") end)
|> Enum.to_list()
|> IO.inspect()
  • 把';'改为字符串形式的";",符合String.split的参数要求
  • 增加String.trim()去除每行末尾的换行符,避免最后一个字段携带换行残留
  • 用IO.inspect()替代IO.puts(),更适合打印列表的列表这种复杂数据结构,能清晰展示层级

内容的提问来源于stack exchange,提问作者user1934428

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:48:20