“Haskell”的版本间的差异

来自wrc's Wiki
跳到导航 跳到搜索
(建立内容为“Category:Haskell Haskell 是一种函数式编程语言。 == 笔记 == === <code>let</code> 与 <code>where</code> === <code>let</code> 是一个表达式…”的新页面)
 
第16行: 第16行:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
三个 guard 都可使用 <code>z</code>。用 <code>let</code> 无法达到以上的效果。<ref>https://stackoverflow.com/q/4362328/10974106</ref><ref>[https://www.cse.iitb.ac.in/~as/fpcourse/haskell98_tutorial/patterns.html A Gentle Introduction to Haskell] 4.5 Lexical Scoping and Nested Forms</ref>
 
三个 guard 都可使用 <code>z</code>。用 <code>let</code> 无法达到以上的效果。<ref>https://stackoverflow.com/q/4362328/10974106</ref><ref>[https://www.cse.iitb.ac.in/~as/fpcourse/haskell98_tutorial/patterns.html A Gentle Introduction to Haskell] 4.5 Lexical Scoping and Nested Forms</ref>
 +
 +
== 另见 ==
 +
 +
* [[Functor, Applicative 和 Monad]]
  
 
== 外部链接 ==
 
== 外部链接 ==

2021年7月11日 (日) 03:23的版本

Haskell 是一种函数式编程语言。

笔记

letwhere

let 是一个表达式,而 where 不是。where 用于给多个 guard 创建 binding,如下:

f x y
  | y > z  = ...
  | y == z = ...
  | y < z  = ...
  where
    z = x * x

三个 guard 都可使用 z。用 let 无法达到以上的效果。[1][2]

另见

外部链接

参考资料