Browse Source

Good syntax+Helpful errors examples

master
Julio Biason 1 year ago
parent
commit
c741923a73
  1. 84
      rust-em-10-minutos.html

84
rust-em-10-minutos.html

@ -162,6 +162,7 @@
<h3 class="fragment">(and lifetimes)</h3> <h3 class="fragment">(and lifetimes)</h3>
<h2 class="fragment">+ Good Syntax</h2> <h2 class="fragment">+ Good Syntax</h2>
<h2 class="fragment">+ Helpful Errors</h2>
</section> </section>
<section> <section>
@ -233,6 +234,8 @@ func foo() {
</section> </section>
<section> <section>
<h2>Good Syntax</h2>
<p> <p>
StackOverflow Survey 2023: "Most Admired Language" <span class="fragment">(84.6%)</span> StackOverflow Survey 2023: "Most Admired Language" <span class="fragment">(84.6%)</span>
</p> </p>
@ -242,6 +245,87 @@ func foo() {
</p> </p>
</section> </section>
<section>
<h2>Helpful Errors</h2>
<pre><code class="hljs rust" data-trim>
fn main() {
let a = 2;
a = 3;
println!("{}", a);
}
</code></pre>
<aside class="notes">
Primeiro contato com Rust: assim como C, tem uma
função `main`, que pode retornar um inteiro; para
atribuir variáveis, usa-se `let`.
Uma coisa: Rust é "strong and statically typed", o
que sigifnica que a linguagem tem tipos, mas por
padrão o compilador tenta inferir o tipo.
Uma outra forma de escrever o let seria:
```
let a: u8 = 2;
```
</aside>
</section>
<section>
<h2>Helpful Errors</h2>
<pre><code class="hljs" data-trim>
3 | let a = 2;
| -
| |
| first assignment to `a`
| help: make this binding mutable: `mut a`
4 | a = 3;
| ^^^^^ cannot assign twice to immutable variable
</code></pre>
<aside class="notes">
Se você tentar mudar um dado depois de criado, o
compilador Rust não vai deixar.
</aside>
</section>
<section>
<h2>Helpful Errors</h2>
<pre><code class="hljs" data-trim data-line-numbers="7">
3 | let a = 2;
| -
| |
| first assignment to `a`
| help: make this binding mutable: `mut a`
4 | a = 3;
| ^^^^^ cannot assign twice to immutable variable
</code></pre>
<aside class="notes">
... mas se tu olhar com calma, tu vai ver que não só o
compilador disse, claramente, o que era o problema...
</aside>
</section>
<section data-transition="fade">
<h2>Helpful Errors</h2>
<pre><code class="hljs" data-trim data-line-numbers="5">
3 | let a = 2;
| -
| |
| first assignment to `a`
| help: make this binding mutable: `mut a`
4 | a = 3;
| ^^^^^ cannot assign twice to immutable variable
</code></pre>
<aside class="notes">
... como também vai dizer como resolver o problema.
</aside>
</section>
<section> <section>
<img src="_images/around-world.jpg" class="stretch"> <img src="_images/around-world.jpg" class="stretch">
</section> </section>

Loading…
Cancel
Save