diff --git a/gitlab-pages/docs/api/cheat-sheet.md b/gitlab-pages/docs/api/cheat-sheet.md index db7035b9d..920ae6376 100644 --- a/gitlab-pages/docs/api/cheat-sheet.md +++ b/gitlab-pages/docs/api/cheat-sheet.md @@ -40,6 +40,39 @@ title: Cheat Sheet |Transactions|
const payment : operation = transaction(unit, amount, receiver);
|
|Exception/Failure|`failwith("Your descriptive error message for the user goes here.")`|
+
+
+|Primitive |Example|
+|--- |---|
+|Strings | `"Tezos"`|
+|Characters | `"t"`|
+|Integers | `42`, `7`|
+|Natural numbers | `42n`, `7n`|
+|Unit| `unit`|
+|Boolean|let has_drivers_license: bool = false
let adult: bool = true
|
+|Boolean Logic|(not true) = false = (false && true) = (false || false)
|
+|Mutez (micro tez)| `42mutez`, `7mutez` |
+|Address | `("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx": address)`, `("KT1JepfBfMSqkQyf9B1ndvURghGsSB8YCLMD": address)`|
+|Addition |`3 + 4`, `3n + 4n`|
+|Multiplication & Division| `3 * 4`, `3n * 4n`, `10 / 5`, `10n / 5n`|
+|Modulo| `10 mod 3`|
+|Tuples| type name = (string * string)
let winner: name = "John", "Doe"
let first_name: string = winner.0
let last_name: string = winner.1
|
+|Types|`type age = int`, `type name = string` |
+|Includes|```#include "library.mligo"```|
+|Functions |let add (a : int) (b : int) : int = a + b
|
+| If Statement | let new_id: int = if age < 16
then failwith("Too young to drive.")
else prev_id + 1
|
+|Options|type middle_name = string option
let middle_name : middle_name = Some "Foo"
let middle_name : middle_name = None
|
+|Variable Binding | ```let age: int = 5```|
+|Type Annotations| ```("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" : address)```|
+|Variants|type action =
| Increment of int
| Decrement of int
|
+|Variant *(pattern)* matching|let a: action = Increment 5
match a with
| Increment n -> n + 1
| Decrement n -> n - 1
|
+|Records|type person = {
age: int ;
name: string ;
}
let john : person = {
age = 18;
name = "John Doe";
}
let name: string = john.name
|
+|Maps|type prices = (nat, tez) map
let prices : prices = Map.literal [
(10n, 60mutez);
(50n, 30mutez);
(100n, 10mutez)
]
let price: tez option = Map.find 50n prices
let prices: prices = Map.update 200n 5mutez prices
|
+|Contracts & Accounts|let destination_address : address = "tz1..."
let contract : unit contract =
Operation.get_contract destination_address
|
+|Transactions|let payment : operation =
Operation.transaction (unit, receiver, amount)
|
+|Exception/Failure|`failwith("Your descriptive error message for the user goes here.")`|
+
+