Skip to content

Commit

Permalink
add "Naming Conventions – Options"
Browse files Browse the repository at this point in the history
  • Loading branch information
soc committed Jul 6, 2024
1 parent b508ba9 commit b1488a5
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 8 deletions.
4 changes: 2 additions & 2 deletions _languages/naming-conventions-conversion.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ date: 2018-06-20
update: 2022-06-26
page_previous_title: "Naming Conventions – Part 1: Creation"
page_previous_url: "naming-conventions-creation"
page_next_title: "Naming Conventions – Part 3: Lookup"
page_next_url: "naming-conventions-lookup"
page_next_title: "Naming Conventions – Part 3: Options"
page_next_url: "naming-conventions-options"
---

<table class="table-medium">
Expand Down
8 changes: 4 additions & 4 deletions _languages/naming-conventions-lookup.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: "Language Design: Naming Conventions – Part 3: Lookup"
title: "Language Design: Naming Conventions – Part 4: Lookup"
date: 2022-06-07
update: 2022-07-26
page_previous_title: "Naming Conventions – Part 2: Conversion"
page_previous_url: "naming-conventions-conversion"
page_next_title: "Naming Conventions – Part 4: Streaming"
page_previous_title: "Naming Conventions – Part 3: Options"
page_previous_url: "naming-conventions-options"
page_next_title: "Naming Conventions – Part 5: Streaming"
page_next_url: "naming-conventions-streaming"
---

Expand Down
73 changes: 73 additions & 0 deletions _languages/naming-conventions-options.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: "Language Design: Naming Conventions – Part 3: Options"
date: 2024-07-05
page_previous_title: "Naming Conventions – Part 2: Conversion"
page_previous_url: "naming-conventions-conversion"
page_next_title: "Naming Conventions – Part 4: Lookup"
page_next_url: "naming-conventions-lookup"
---

<table class="table-medium">
<thead>
<tr>
<th style="width: 18%">Name</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>or</code></td>
<td class="code">Some(1).or(Some(2))
<span class="result">--> Some(1)</span>
None.or(Some(2))
<span class="result">--> Some(2)</span></td>
</tr>
<tr>
<td><code>orElse</code></td>
<td class="code">Some(1).orElse(2)
<span class="result">--> Some(1)</span>
None.orElse(2)
<span class="result">--> Some(2)</span></td>
</tr>
<tr>
<td><code>orGet</code></td>
<td class="code">Some(1).orGet(() -> Some(2))
<span class="result">--> Some(1)</span>
None.orGet(() -> Some(2))
<span class="result">--> Some(2)</span>
None.orGet(() -> None)
<span class="result">--> None</span></td>
</tr>
<tr>
<td><code>orElseGet</code></td>
<td class="code">Some(1).orElseGet(() -> 2)
<span class="result">--> Some(1)</span>
None.orElseGet(() -> 2)
<span class="result">--> Some(2)</span></td>
</tr>
<tr>
<td><code>orElsePanic</code></td>
<td class="code">Some(1).orElsePanic()
<span class="result">--> 1</span>
None.orElsePanic()
<span class="result"># program aborts</span></td>
</tr>
<tr>
<td><code>orElsePanicWith</code></td>
<td class="code">Some(1).orElsePanicWith("expected some")
<span class="result">--> 1</span>
None.orElsePanicWith("expected some")
<span class="result"># program aborts with message "expected some"</span></td>
</tr>
</tbody>
</table>

<br/>

---

Naming scheme:

- `...Else...` indicates going from `Option[T]` to `T`
- `...Get` indicates a closure argument
- all panicking methods contain `...Panic`
4 changes: 2 additions & 2 deletions _languages/naming-conventions-streaming.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: "Language Design: Naming Conventions – Part 4: Streaming"
title: "Language Design: Naming Conventions – Part 5: Streaming"
date: 2022-06-08
update: 2023-01-12
page_previous_title: "Naming Conventions – Part 3: Lookup"
page_previous_title: "Naming Conventions – Part 4: Lookup"
page_previous_url: "naming-conventions-lookup"
---

Expand Down
1 change: 1 addition & 0 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ navigation: true
<ol>
<li><a href="languages/naming-conventions-creation">Creation</a></li>
<li><a href="languages/naming-conventions-conversion">Conversion</a></li>
<li><a href="languages/naming-conventions-options">Options</a></li>
<li><a href="languages/naming-conventions-lookup">Lookup</a></li>
<li><a href="languages/naming-conventions-streaming">Streaming</a></li>
</ol>
Expand Down

0 comments on commit b1488a5

Please sign in to comment.