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
|
||||
|
||||
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
|
||||
module One
|
||||
@ -16,12 +16,15 @@ module One
|
||||
end
|
||||
$f1 = :Fred
|
||||
end
|
||||
|
||||
module Two
|
||||
Fred = 1
|
||||
$f2 = :Fred
|
||||
end
|
||||
|
||||
def Fred()
|
||||
end
|
||||
|
||||
$f3 = :Fred
|
||||
$f1.object_id #=> 2514190
|
||||
$f2.object_id #=> 2514190
|
||||
@ -30,7 +33,7 @@ module One
|
||||
|
||||
## 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):
|
||||
|
||||
@ -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.
|
||||
|
||||
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
|
||||
: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:
|
||||
|
||||
```ruby
|
||||
philip".object_id
|
||||
"philip".object_id
|
||||
=> 70288511587360
|
||||
"philip".object_id
|
||||
=> 70288504327720
|
||||
|
||||
:philip.object_id
|
||||
=> 539368
|
||||
: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.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
Symbol.all_symbols.size #=> 903
|
||||
|
Reference in New Issue
Block a user