vault backup: 2023-09-07 16:08:59

This commit is contained in:
Louis Gallet 2023-09-07 16:08:59 +02:00
parent ac1facb185
commit a2fbc3a53b
Signed by: lgallet
SSH Key Fingerprint: SHA256:qnW7pk4EoMRR0UftZLZQKSMUImbEFsiruLC7jbCHJAY
3 changed files with 34 additions and 6 deletions

View File

@ -13,7 +13,7 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "Algo/Séminaire/Exercices sémaines.md", "file": "Algo/Séminaire/Chapter 3 - Case analysis.md",
"mode": "source", "mode": "source",
"source": false "source": false
} }
@ -85,7 +85,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "Algo/Séminaire/Exercices sémaines.md", "file": "Algo/Séminaire/Chapter 3 - Case analysis.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -102,7 +102,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "Algo/Séminaire/Exercices sémaines.md", "file": "Algo/Séminaire/Chapter 3 - Case analysis.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
} }
@ -125,7 +125,7 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "Algo/Séminaire/Exercices sémaines.md" "file": "Algo/Séminaire/Chapter 3 - Case analysis.md"
} }
} }
} }
@ -146,7 +146,7 @@
"command-palette:Open command palette": false "command-palette:Open command palette": false
} }
}, },
"active": "c473a791e2b34194", "active": "bdba25946b821d06",
"lastOpenFiles": [ "lastOpenFiles": [
"Algo/Séminaire/Exercices sémaines.md", "Algo/Séminaire/Exercices sémaines.md",
"Algo/Séminaire/Chapter 3 - Case analysis.md", "Algo/Séminaire/Chapter 3 - Case analysis.md",

View File

@ -49,3 +49,28 @@ Exception: Invalid_argument "oops"
else a/b ;;; else a/b ;;;
val div int -> int -> int = <fun> val div int -> int -> int = <fun>
``` ```
## 3.3. Filtering
### Explicit filtering
> Explicit means that you matches the value
**General syntax**
```Ocaml
match expr with pattern1 -> result1 | pattern2 -> result2 | ... | patternn -> resultn
```
> All expressions and pattern must avec the same type
**Example**
```Ocaml
# let f x = match x with
0 -> 18
1 -> 24
y -> y + y;;
val f : int -> int = <fun>
# f 1;;
- : int = 24

View File

@ -163,6 +163,9 @@ val max4 : 'a -> 'a -> 'a -> 'a -> 'a = <fun>
``` ```
### Exercise 3.4 ### Exercise 3.4
```Ocaml ```Ocaml
let highest_square_sum x1 x2 x3 = let bigger = max3(x1 x2 x3) and middle = middle3(x1 x2 x3) in (bigger*bigger, middle*middle) let highest_square_sum x y z =
let sq x = x*x in
sq(max3 x y z) + sq(middle3 x y z)
val highest_square_sum : int -> int -> int -> int = <fun>
``` ```