Update Examples
parent
ca50e00531
commit
dec41efd58
130
Examples.md
130
Examples.md
@ -1134,3 +1134,133 @@ fn main
|
||||
|
||||
```
|
||||
</td></tr></table>
|
||||
|
||||
There doesn't seem to be anything else syntactically relevant in the other subsubsections here, until we get to...
|
||||
|
||||
##### Examples in std
|
||||
|
||||
**Iterator::any**
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Rust</th>
|
||||
<th>Husht</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
```
|
||||
pub trait Iterator {
|
||||
type Item;
|
||||
|
||||
fn any<F>(&mut self, f: F) -> bool where
|
||||
F: FnMut(Self::Item) -> bool;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let vec1 = vec![1, 2, 3];
|
||||
let vec2 = vec![4, 5, 6];
|
||||
|
||||
println!("2 in vec1: {}", vec1.iter() .any(|&x| x == 2));
|
||||
println!("2 in vec2: {}", vec2.into_iter().any(|x| x == 2));
|
||||
|
||||
println!("vec1 len: {}", vec1.len());
|
||||
println!("First element of vec1 is: {}", vec1[0]);
|
||||
// `into_iter()` does move `vec2` and its elements, so they cannot be used again
|
||||
|
||||
let array1 = [1, 2, 3];
|
||||
let array2 = [4, 5, 6];
|
||||
|
||||
println!("2 in array1: {}", array1.iter() .any(|&x| x == 2));
|
||||
println!("2 in array2: {}", array2.into_iter().any(|x| x == 2));
|
||||
}
|
||||
```
|
||||
</td><td>
|
||||
|
||||
```
|
||||
pub trait Iterator
|
||||
type Item
|
||||
|
||||
fn any<F>(&mut self, f: F) -> bool where
|
||||
F: FnMut(Self::Item) -> bool //! Should we be able to drop the `Self::` here?
|
||||
}
|
||||
|
||||
fn main
|
||||
let vec1 = vec![1, 2, 3]
|
||||
vec2 = vec![4, 5, 6]
|
||||
|
||||
println! "2 in vec1: {}", vec1.iter() .any(|&x| x == 2));
|
||||
println!("2 in vec2: {}", vec2.into_iter().any(|x| x == 2));
|
||||
|
||||
println!("vec1 len: {}", vec1.len());
|
||||
println!("First element of vec1 is: {}", vec1[0]);
|
||||
// `into_iter()` does move `vec2` and its elements, so they cannot be used again
|
||||
|
||||
let array1 = [1, 2, 3];
|
||||
let array2 = [4, 5, 6];
|
||||
|
||||
println!("2 in array1: {}", array1.iter() .any(|&x| x == 2));
|
||||
println!("2 in array2: {}", array2.into_iter().any(|x| x == 2));
|
||||
}
|
||||
```
|
||||
</td></tr></table>
|
||||
|
||||
**Searching through iterators**
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Rust</th>
|
||||
<th>Husht</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
</td><td>
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
</td></tr></table>
|
||||
|
||||
#### Higher order functions
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Rust</th>
|
||||
<th>Husht</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
</td><td>
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
</td></tr></table>
|
||||
|
||||
#### Diverging functions
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Rust</th>
|
||||
<th>Husht</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
</td><td>
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
</td></tr></table>
|
||||
|
Loading…
Reference in New Issue
Block a user