Update ruby symbols portuguese guide (#32295)
Translation based on english guide: `https://github.com/freeCodeCamp/freeCodeCamp/blob/master/guide/english/ruby/ruby-symbols/index.md`
This commit is contained in:
committed by
Randell Dawson
parent
bff9327059
commit
f1e6fad974
@ -4,11 +4,11 @@ localeTitle: Ruby Symbols
|
|||||||
---
|
---
|
||||||
## Ruby Symbols
|
## Ruby Symbols
|
||||||
|
|
||||||
Um símbolo se parece com um nome de variável, mas é prefixado com dois pontos. Exemplos -: action,: line\_items Você não tem que pré-declarar um símbolo e é garantido que ele é único. Não há necessidade de atribuir algum tipo de valor a um símbolo - Ruby cuida disso para você. O Ruby também garante que, não importa onde ele apareça no seu programa, um símbolo específico terá o mesmo valor.
|
Um símbolo se parece com um nome de variável, mas é prefixado com dois pontos. Exemplos - `:action`, `:line_items`. Você não tem que pré-declarar um símbolo e é garantido que ele é único. Não há necessidade de atribuir algum tipo de valor a um símbolo - Ruby cuida disso para você. O Ruby também garante que, não importa onde ele apareça no seu programa, um símbolo específico terá o mesmo valor.
|
||||||
|
|
||||||
Alternativamente, você pode considerar os dois pontos para significar "coisa chamada" assim: id é "a coisa chamada id". Você também pode pensar em: id como significando o nome da variável id e plain id como significando o valor da variável.
|
Alternativamente, você pode considerar os dois pontos para significar "coisa chamada" assim `:id` é "a coisa chamada id". Você também pode pensar em `:id` como significando o nome da variável id e plain id como significando o valor da variável.
|
||||||
|
|
||||||
Por ex: Assim, se Fred é uma constante em um contexto, um método em outro e uma classe em um terceiro, o símbolo: Fred será o mesmo objeto em todos os três contextos.
|
Por ex: Assim, se Fred é uma constante em um contexto, um método em outro e uma classe em um terceiro, o símbolo `:Fred` será o mesmo objeto em todos os três contextos.
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
module One
|
module One
|
||||||
@ -16,12 +16,15 @@ module One
|
|||||||
end
|
end
|
||||||
$f1 = :Fred
|
$f1 = :Fred
|
||||||
end
|
end
|
||||||
|
|
||||||
module Two
|
module Two
|
||||||
Fred = 1
|
Fred = 1
|
||||||
$f2 = :Fred
|
$f2 = :Fred
|
||||||
end
|
end
|
||||||
|
|
||||||
def Fred()
|
def Fred()
|
||||||
end
|
end
|
||||||
|
|
||||||
$f3 = :Fred
|
$f3 = :Fred
|
||||||
$f1.object_id #=> 2514190
|
$f1.object_id #=> 2514190
|
||||||
$f2.object_id #=> 2514190
|
$f2.object_id #=> 2514190
|
||||||
@ -30,7 +33,7 @@ module One
|
|||||||
|
|
||||||
## Trabalhando com Símbolos
|
## Trabalhando com Símbolos
|
||||||
|
|
||||||
Você pode reconhecer um Símbolo Ruby porque será uma palavra que começa com:.
|
Você pode reconhecer um Símbolo Ruby porque será uma palavra que começa com `:`.
|
||||||
|
|
||||||
Até agora nós os vimos como a chave em um Hash (Trabalhando com Hashes em Ruby):
|
Até agora nós os vimos como a chave em um Hash (Trabalhando com Hashes em Ruby):
|
||||||
|
|
||||||
@ -50,7 +53,7 @@ Então, a primeira coisa que podemos fazer é inspecionar um símbolo para ver q
|
|||||||
|
|
||||||
Assim, podemos ver que Símbolos e Strings são instâncias de dois objetos diferentes.
|
Assim, podemos ver que Símbolos e Strings são instâncias de dois objetos diferentes.
|
||||||
|
|
||||||
Você pode chamar métodos String-como como `upcase` , `downcase` e `capitalize` sobre Símbolos:
|
Você pode chamar métodos String como `upcase`, `downcase` e `capitalize` em Símbolos:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
:hello.upcase
|
:hello.upcase
|
||||||
@ -95,11 +98,10 @@ Uma segunda razão pela qual você usaria um símbolo em uma sequência em deter
|
|||||||
Por exemplo:
|
Por exemplo:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
philip".object_id
|
"philip".object_id
|
||||||
=> 70288511587360
|
=> 70288511587360
|
||||||
"philip".object_id
|
"philip".object_id
|
||||||
=> 70288504327720
|
=> 70288504327720
|
||||||
|
|
||||||
:philip.object_id
|
:philip.object_id
|
||||||
=> 539368
|
=> 539368
|
||||||
:philip.object_id
|
:philip.object_id
|
||||||
@ -108,11 +110,11 @@ philip".object_id
|
|||||||
|
|
||||||
Quando você cria dois objetos String com o mesmo valor, esses dois objetos são tratados como dois objetos diferentes. Quando você cria um símbolo, referenciando o símbolo sempre usará o mesmo objeto.
|
Quando você cria dois objetos String com o mesmo valor, esses dois objetos são tratados como dois objetos diferentes. Quando você cria um símbolo, referenciando o símbolo sempre usará o mesmo objeto.
|
||||||
|
|
||||||
Isso é muito melhor para o desempenho porque o mesmo objeto String será criado e destruído repetidamente quando, na realidade, o mesmo objeto pode ser reutilizado a cada vez.
|
Isso é muito melhor para o desempenho porque o mesmo objeto String será criado e destruído repetidamente quando na realidade o mesmo objeto pode ser reutilizado a cada vez.
|
||||||
|
|
||||||
#### Métodos de Classe Pública
|
#### Métodos de Classe Pública
|
||||||
|
|
||||||
all\_symbols => array clica para alternar a fonte Retorna uma matriz de todos os símbolos atualmente na tabela de símbolos do Ruby.
|
`all_symbols` - Retorna uma matriz de todos os símbolos atualmente na tabela de símbolos do Ruby.
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
Symbol.all_symbols.size #=> 903
|
Symbol.all_symbols.size #=> 903
|
||||||
|
Reference in New Issue
Block a user