# Ruby on Rails :diamonds:
###### tags: `Ruby`
[ToC]
## Lógica de Programação
### 1. Input e output
- Puts
Imprime mensagem na tela.
- Gets
Guarda o valor digitado pelo usuário.
Guarda inclusive a quebra de linha "\n"
:::info
:bulb: Método **`.chomp()`** limpa as quebras de linha.
:::
- Template String
```ruby!
variavel_numero = 0
puts = "Esse é um teste número #{variavel_numero}"
//saida: Esse é um teste número 0
```
:::info
:pushpin: A instrução **puts** é uma abreviação de "put string" e automaticamente move o cursor para a próxima linha. A instrução **print** é usada quando queremos escrever e manter o cursor na mesma linha.
:::
### 2. Variáveis
- Declarar variável
Apenas atribuir a variavel com nome.
```ruby
nome_da_variavel = "teste"
```
### 5. Estruturas Condicionais
- variavel.to_i() ➜ transforma o valor da variavel em inteiro
- pode ser usado diretamente do gets
- Estrutura
```ruby
nome_da_variavel = "teste"
```
### 6. Hash
- Dicionário: `receita = [] | receita << {nome: "maria"}`.
receita é um array de hash
- Hash rocket: `{:nome => "maria"}`.
- Acessar o valor que foi atribuido a chave/symbol nome: `receita[:nome]`.
## Orientação a Objetos
### 1. Classe
- Conjunto de objts
- Criando um hash
- `hash = {}` ou
- `hash = Hash.new`
- Tudo é um objeto
ex.: Hash.new, tru
---
## :memo: Resumo
| | | |Features|
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | |GitHub Sync|
| | | | |
[GitHub-Sync]: https://hackmd.io/c/tutorials/%2Fs%2Flink-with-github
---
## Estilos
- Code block with color and line numbers:
```javascript=16
var s = "JavaScript syntax highlighting";
alert(s);
```
- Auto-generated Table of Content
[ToC]
> Leave in-line comments! [color=#3b75c6]
:::info
:pushpin: Want to learn more? ➜ [HackMD Tutorials](https://hackmd.io/c/tutorials)
:::
==Real-time collaborate on any documentation in markdown.==
- [x] **Bold**
- [ ] *Italic*
- [ ] Super^script^
- [ ] Sub~script~
- [ ] ~~Crossed~~
- [x] ==Highlight==