gpt4 book ai didi

haskell - 在 Haskell 标准库的帮助下重构这样的虚拟代码的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 15:46:34 24 4
gpt4 key购买 nike

我目前正在处理用 Haskell 编写的相当脏的项目。它包含很多代码,例如:

try_parse_parameters (p:ps) kvps options = 
let maybeKvp = try_parse_kvp p
in
if isJust maybeKvp
then try_parse_parameters ps ((fromJust maybeKvp) : kvps) options
else
let maybeOption = try_parse_option p
in
if isJust maybeOption
then try_parse_parameters ps kvps ((fromJust maybeOption) : options)
else try_parse_parameters ps kvps options

因此,我的问题是:是否有一些标准方法来处理这种情况?

最佳答案

您还可以通过模式匹配处理多个情况,避免 pyramid of doom .

try_parse_parameters (p:ps) kvps options = 
case (try_parse_kvp p, try_parse_option p) of
(Just k, _) -> try_parse_parameters ps (k : kvps) options
(Nothing, Just o) -> try_parse_parameters ps kvps (o : options)
(Nothing, Nothing)-> try_parse_parameters ps kvps options

关于haskell - 在 Haskell 标准库的帮助下重构这样的虚拟代码的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com