Ruby Linguagem: entendendo a magia dos métodos

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: