gpt4 book ai didi

haskell - Haskell 中的常量和模式匹配

转载 作者:行者123 更新时间:2023-12-01 07:36:16 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Haskell - Using a constant in pattern matching

(2 个回答)


5年前关闭。




如何在 Haskell 中定义宏常量?特别是,我希望以下代码段在不重叠第二个模式匹配的情况下运行。

someconstant :: Int
someconstant = 3

f :: Int -> IO ()
f someconstant = putStrLn "Arg is 3"
f _ = putStrLn "Arg is not 3"

最佳答案

您可以定义一个 pattern synonym :

{-# LANGUAGE PatternSynonyms #-}

pattern SomeConstant :: Int
pattern SomeConstant = 3

f :: Int -> IO ()
f SomeConstant = putStrLn "Arg is 3"
f _ = putStrLn "Arg is not 3"

但也要考虑匹配自定义变体类型而不是 Int 是否更好.

关于haskell - Haskell 中的常量和模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35417305/

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