Array Classifica rubi

Array Classifica rubi
Ruby é uma linguagem de programação simplista e poderosa que fornece recursos excepcionais para operações diárias de programação.

Como as matrizes são um objeto fundamental em Ruby e outras linguagens de programação, Ruby fornece uma maneira de classificar elementos sem escrever um excelente algoritmo personalizado.

Este guia ensinará como classificar uma matriz usando os métodos e funcionalidades internos de Ruby.

Como classificar uma matriz

Ruby fornece várias maneiras de classificar uma matriz. Os métodos Sort and Sort_by em Ruby são alguns dos mais fundamentais para classificar uma matriz.

#1: Usando o método de classificação

O método de classificação é definido no módulo enumerável e retorna os valores da matriz classificada.

Por exemplo:

NUMS = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]
Imprima nums.organizar
[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

Por padrão, o método retornará os itens na matriz classificada em ordem crescente.

Funciona usando o operador de naves espaciais, que retorna 1 se um valor for maior que, 0 para igual a e -1 para menos que.

Se você fornecer uma variedade de cordas, a matriz classificada estará em ordem alfabética como:

bancos de dados = %w mysql, pósgresql, redis, memcached, mongodb, elasticsearch
Imprimir bancos de dados.organizar
["Elasticsearch", "Memcached,", "MongoDB", "MySQL", "PostgreSQL", "Redis"]

Você pode passar um bloco para a função de classificação se quiser implementar um pedido de classificação personalizado. Por exemplo, o seguinte implementa uma ordem reversa usando o método de classificação.

NUMS = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
Imprima nums.classificar | x, y | y x
[100, 53, 34, 28, 23, 22, 21, 20, 11, 2, 1]

Ruby também permite que você classifique uma matriz no lugar usando o tipo! método. O método afetará o método original na nova matriz classificada como:

NUMS = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
Nums.organizar!
Imprima nums
[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

Nota: Use o tipo! método com cautela; Ele substitui a matriz original, como mostrado no exemplo acima.

#2: Método Sort_by

O método Sort_By fornece flexibilidade ao classificar em comparação com o método de classificação. Vejamos alguns exemplos para ver como a classificação usando o método Sort_by funciona.

O primeiro exemplo é classificar pelo comprimento de uma corda.

Bancos de dados = ["Elasticsearch", "Memcached", "MongoDB", "MySQL", "PostgreSQL", "Redis"]
Imprimir bancos de dados.Sort_by | content | contente.comprimento
["Redis", "MySql", "MongoDB", "

Classificação dos elementos da matriz acontece em ordem ascendente com base no comprimento do conteúdo da string.

Usamos a propriedade de comprimento da string, pois o método Sort_by espera um valor numérico.

Suponha que queremos classificar a string em ordem inversa usando o método Sort_by? Nesse caso, podemos adicionar um operador menos comprimento, como mostrado abaixo:

Bancos de dados = ["Elasticsearch", "Memcached", "MongoDB", "MySQL", "PostgreSQL", "Redis"]
Imprimir bancos de dados.Sort_by | content | -contente.comprimento

O exemplo acima retornará a matriz classificada em ordem decrescente.

Fechamento

Este guia mostrou como trabalhar com matrizes e classificá-las usando métodos de rubi embutidos.