vik*_*ata 1 recursion haskell definition
在F#我可以这样定义:
let rec sum = function
| [] -> 0
| x::xs -> x + sum xs
Run Code Online (Sandbox Code Playgroud)
看起来很方便.在Haskell有通信吗?
假设您喜欢的功能是"我不必重复名称sum",LambdaCase扩展程序启用此功能:
{-# LANGUAGE LambdaCase #-}
module CaseExample where
import Prelude hiding (sum)
sum = \case
[] -> 0
x:xs -> x + sum xs
Run Code Online (Sandbox Code Playgroud)
否则,没有扩展的语法是
sum [] = 0
sum (x:xs) = x + sum xs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |