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

Erlang:将consult()返回值拆分为子列表并绑定至变量

解决Erlang中列表元素的变量绑定问题

嘿,这问题用Erlang最核心的模式匹配就能轻松搞定!

你现在的read()函数返回的是带ok标记的元组结构:{ok,[{john,[jill,joe,bob]}, {jill,[bob,joe,bob]}, {sue,[jill,jill,jill,bob,jill]}, {bob,[john]}, {joe,[sue]}]}。要把列表里的5个元组分别绑定到X1到X5,直接对整个返回值做模式匹配就行:

{ok, [X1, X2, X3, X4, X5]} = read().

执行这行代码后,每个变量就会精准绑定对应元组:

  • X1 → {john,[jill,joe,bob]}
  • X2 → {jill,[bob,joe,bob]}
  • X3 → {sue,[jill,jill,jill,bob,jill]}
  • X4 → {bob,[john]}
  • X5 → {joe,[sue]}

你之前尝试拆分4个头部加尾部没成功,大概率是没先处理外层的{ok, List}包裹结构——上面的写法一步完成了“取出列表”和“拆分元素”两个操作,既简洁又贴合Erlang的设计风格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:52:09