Ruby é uma linguagem consistente, orientada a objetos e dinâmica, o que significa que você receberá feedback em cada comando. Este artigo mostrará seus conceitos, como fazer e usar suas classes e métodos.
Formulário de assinatura da linguagem Ruby
Basicamente, quando criamos um método, temos cinco assinaturas possíveis.
Não passar parâmetros.
Passar parâmetros posicionais,
Parâmetros com palavras-chaves (keywords arguments).
E passar parâmetros como array.
Passando um bloco. Ruby
Podemos mesclar essas formas e gerar “novas” formas mescladas, mas basicamente essas são as formas básicas de passar parâmetros.
Em nossa programação diária, encontramos formas puras e mistas.
Vejamos alguns exemplos abaixo… Ruby
Pois você pode ver no exemplo acima que temos dois métodos para lidar com palavras-chave, e
.
A diferença entre eles é que recebe um único argumento e foi nomeado para usá-lo.
Basicamente você faria o seguinte:
E para usar o parâmetro você chamará o key como sendo o parâmetro, ficando:
Com o método , você pode passar uma palavra-chave sem nome.
Basicamente, para chamar o método, você faria a mesma coisa que chamar outro método:
(chave: ‘minha chave’)
No entanto, para usar o parâmetro, você deve passar sua chave assim:
Se você usar apenas o parâmetro sem passar a key então você irá trabalhar com o hash que foi passado, desta forma:
Assinaturas mescladas
Lembra que falei das assinaturas mescladas? Ruby
No entanto, tudo o que acontece dentro deles é a magia da linguagem Ruby que pode fazer ou quebrar nossas vidas, dependendo de como você vai usá-la…
Aprenda a magia da linguagem Ruby
Os argumentos de palavras-chave na linguagem Ruby foram introduzidos na versão 2.0.
Não tenho certeza se você notou o exemplo acima, mas a maneira como as chaves são nomeadas no método significa apenas que você só pode chamar o valor do hash e sua chave pela chave.
Porque quando você passa key: ‘value’ você está passando um hash que tem uma chave chamada key e corresponde a value.
Portanto, o método pode ser usado da seguinte maneira:
Uma usando os {} para deixar explicito que é um hash e a outra sem deixar.
Mudanças na linguagem Ruby 2.7
Essa mágica de conversão automática de palavras-chave foi preterida no Ruby versão 2.7 e será removida no Ruby 3.
Portanto, ao atualizar para uma nova versão, você começará a receber alguns avisos de que o método que está usando será interrompido na próxima atualização. Ruby
Impressionante para que você possa atualizar sem problemas que não quebrem seu código … Ruby
Como tornar meu método seguro para atualizações
Pois, a grande questão é: atualizei, e agora? Como posso tornar meu método seguro para não ter problemas no futuro?
Primeiramente, precisamos saber quais tipos de métodos podem gerar erros, vamos dar uma olhada neles.
Tomando como exemplo o método precedido por uma palavra-chave, o seguinte uso dará uma mensagem de aviso:
Afinal para evitar o warming, nessas duas chamadas basta remover o {} e sucesso! Ruby
Porém, começa a ficar um pouco mais complicado se você usar uma assinatura mesclada, por exemplo:
Nesse exemplo acima iremos usar o posicional como um hash, dessa forma… Ruby
porém separadamente Ruby
Perceba que só de olhar tem um nó psicológico, pois há duas chaves na assinatura. Ruby
Ainda assim, a linguagem Ruby não está perdida neste lançamento, e milagres aconteceram com o aquecimento. Ruby
Para corrigir isso neste caso, você deve fazer: Ruby
Isso vale a pena?
Afinal o que mudou é a forma como chamamos métodos, a forma como passamos parâmetros.
Pois a orientação de mudança afirma claramente que podemos usar as três formas de palavras-chave a seguir: