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

如何简化Elm中display函数代码?自定义类型记录值映射优化

简化Elm代码的方案

优化后的完整代码

type Symbol = Cherry | Seven | Bar | Grapes

type alias Model =
  { one : Symbol
  , two : Symbol
  , three : Symbol
  }

-- 通用的Symbol转字符串函数
symbolToString : Symbol -> String
symbolToString symbol =
  case symbol of
    Cherry -> "Cherry"
    Seven -> "Seven"
    Bar -> "Bar"
    Grapes -> "Grapes"

-- 简化后的display函数
display : Model -> String
display model =
  [ model.one, model.two, model.three ]
  |> List.map symbolToString
  |> String.join " "

优化要点

  • 消除重复代码:把原本重复的三个displayX函数合并成一个通用的symbolToString函数,专门处理Symbol类型到字符串的映射,后续新增Symbol变体时只需修改这一处。
  • 批量处理字段:将Model中的三个Symbol字段收集到列表中,用List.map批量转换为字符串,再通过String.join " "直接拼接成目标格式,避免手动多次调用函数和拼接字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:50:40