Alcance de rubi para matar

Alcance de rubi para matar

Um intervalo refere -se a um objeto que registra uma sequência específica. Definimos intervalos com um valor de início e final específico e, em seguida.

Um exemplo simples pode ser de valores de 10 a 100. Entre o valor de 10 e 100, você pode ter a sequência para incluir apenas os números pares e tal.

Usando este guia, aprenderemos a criar faixas em rubi, trabalhar com o método da etapa e, finalmente, converter um intervalo para uma matriz.

Introdução com faixas

Usamos o ponto duplo (…) e o Triple Dot (…) para criar um intervalo em rubi.

A notação de ponto duplo produz uma variedade de valores, incluindo os valores iniciais e finais do intervalo.

Por outro lado, a notação de três pontos excluirá o valor final (alto) da lista de valores.

Considere o exemplo abaixo:

(1… 10)
(1… 10)

Ambos os exemplos acima são válidos Ruby Ranges. No entanto, a saída dos valores é como abaixo (respectivamente).

1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1, 2, 3, 4, 5, 6, 7, 8, 9

Exemplo 1

Para testar se o intervalo inclui um valor, podemos usar vários métodos, como incluir? Dê uma olhada no exemplo abaixo:

coloca (1… 10).incluir?(10) # => true
coloca (1… 10).incluir?(10) # => false

Exemplo 2

Os valores de um intervalo não são denotados como uma lista. São objetos de alcance reais da classe Range que contém enumeráveis. Portanto, podemos executar operações de iteração em um intervalo sem convertê -lo em um objeto de matriz.

Considere um exemplo simples abaixo:

para eu em (1… 10)
coloca i
fim

Usando um simples loop, podemos buscar cada item no intervalo e agir no valor.

Exemplo 3

Outro método que podemos aplicar a um intervalo é o método de rejeição. Este método removerá todos os valores que não atendem a uma condição específica. F

Por exemplo, pegue um intervalo de 1 a 100; Podemos rejeitar todos os valores que não são numericamente nem mesmo.

Abaixo está um código de exemplo:

coloca (1… 100).rejeitar | i | eu.até? != True

Ruby é tão flexível que permite que você faça mais com algumas linhas de código.

No nosso exemplo acima, usamos métodos de rubi embutidos para filtrar o intervalo e incluímos apenas os valores uniformes .

Abaixo está um exemplo de saída:

2
4
6
..
98
100

O método de etapa em Ruby

Suponha que queremos criar um intervalo, mas em um intervalo específico? Nesse cenário, podemos usar o método de etapa. Este método aumentará os valores no intervalo (entre o início e o fim) sobre um incremento do valor especificado.

Vamos ilustrar isso com um exemplo:

vars = (10… 100).etapa 3)
coloca vars.to_a

OBSERVAÇÃO: Ignore o método to_a (discutido mais adiante).

O exemplo acima deve fornecer uma saída semelhante à mostrada abaixo:

10
13
16
..

Como você notará, adicionamos 3 ao valor atual ou imprimimos a cada terceiro item da posição de alcance atual.

Alcance para matar

#to_a

Você consegue se lembrar do método TO_A mencionado acima? Vamos discutir o que isso significa e como funciona. O método to_a ajuda a converter uma sequência de valores em uma matriz.

Por exemplo, considere o exemplo abaixo:

SEQ = (1… 10)
coloca seq.to_a

O exemplo acima retornará os valores do intervalo em um formato de matriz. Pense nisso como loop sobre cada item no intervalo e anexá -lo a uma matriz. Aqui está uma ilustração simples.

arr = []
para eu em (1… 10)
arr = arr.empurrar (i)
fim
coloca arr

Começamos definindo uma matriz vazia. Em seguida, iteramos por itens em um intervalo e empurramos cada item para a coleção.

Variedade()

Ruby também permite que você use o método Array () para criar uma nova matriz a partir dos itens em um intervalo.

Considere o exemplo abaixo:

arr = Array ((1… 10))
coloca arr

Sim, o método parece uma aula de matriz. No entanto, você precisa adicionar um par de parênteses para informar o Ruby que você está usando o método da matriz e não a classe.

O valor resultante é o intervalo de valores em um formato de matriz.

Fechamento

Este guia fornece informações sobre como trabalhar com Ruby Ranges. Usando este guia, agora você entende como trabalhar com intervalos e convertê -los em uma matriz.

Obrigado pela leitura e fique atento para mais guias de rubi.