【问题标题】:Haskell data type pattern matchingHaskell 数据类型模式匹配
【发布时间】:2011-05-03 05:35:44
【问题描述】:

假设你有

data SS=
SSliteral Value

data Value=
SSint Int

现在假设你有n,它的类型是SS。你想得到SSInt值,你会怎么做?

【问题讨论】:

    标签: haskell pattern-matching


    【解决方案1】:

    你在 n 上进行模式匹配。

    
    getIt :: SS -> Int
    getIt (SSliteral (SSint x)) = x 
    

    我建议你阅读lyah

    【讨论】:

      【解决方案2】:

      我们用记录语法定义:

      data SS = SSliteral {
          ssValue :: Value
          }
      
      data Value = SSint {
          ssInt :: Int
      }
      

      现在我们定义

      getIt :: SS -> Int
      getIt = ssInt . ssValue
      

      现在我们没有积分了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多