Gamme in Ruby

Gamme in Ruby
Gli intervalli sono ovunque nella nostra vita quotidiana. Ad esempio, potrebbe essere quanto tempo ci vorrà per leggere questo articolo, la distanza tra Mosca e Londra, il numero di giorni tra oggi e Natale, ecc.

Sebbene gli intervalli possano essere implementati in modo diverso in un linguaggio di programmazione, il concetto di base non differisce.

In questo tutorial, impareremo come utilizzare gli intervalli nel linguaggio di programmazione Ruby.

Cos'è un intervallo?

Cos'è un intervallo, in particolare? Un intervallo è un insieme di valori con un punto di partenza e un punto finale.

Nella programmazione, un intervallo può essere un insieme di numeri, caratteri, stringhe e altri oggetti. L'idea generale è che un intervallo dovrebbe avere un inizio e una fine.

Come creare una gamma in Ruby

Il modo più semplice per creare un intervallo in Ruby è usare le notazioni punti. Il seguente esempio illustra come funziona una gamma in Ruby:

per io in 1 ... 10
mi mette
FINE

L'esempio sopra dovrebbe restituire tutti gli articoli da un intervallo di 1 e compreso 10.

Ruby usa le notazioni punti per indicare l'intervallo di valori.

Due punti (...) sono chiamati un intervallo inclusivo perché include il valore finale negli articoli. Ad esempio, 1 ... 10 inizierà da 1 fino a includere 10.

Tre punti (...) sono chiamati intervallo esclusivo perché non include il valore finale nell'intervallo. Ad esempio, 1 ... 10 inizia da 1 e termina a 9.

Sequenze

L'implementazione di base delle gamme di rubini è generare o passare attraverso una sequenza di valori. Nell'esempio precedente, abbiamo usato un intervallo all'interno di un ciclo per generare una sequenza di valori tra 1 e 10 (inclusivo).

Possiamo anche usare l'intervallo per eseguire il loop degli articoli in un array, soprattutto quando conosciamo gli articoli totali.

Considera l'array di seguito:

Database = ["Mysql", "PostgreSQL", "Redis", "MongoDB", "FireStore"]

Per ottenere gli elementi nell'array, possiamo utilizzare gli indici dell'articolo, il che porterebbe a 5 pezzi di codice ripetitivi.

Possiamo usare un intervallo come:

Database = ["Mysql", "PostgreSQL", "Redis", "MongoDB", "FireStore"]
per me in 0… 4
mette i database [i]
FINE

Sebbene l'implementazione di cui sopra non sia il modo più efficiente per fare tale operazione, è più facile da leggere rispetto a un mucchio di indici ripetitivi.

È bene notare che gli intervalli non sono limitati ai valori interi solo. Possiamo generare tutte le lettere nell'alfabeto usando una gamma semplice.

put ('a'… 'z').to_a

Il codice sopra genererà tutti i caratteri tra A e Z e li metteranno in un array usando il metodo TO_A.

Condizionali

Gli intervalli sono anche implementabili nelle espressioni condizionali. Ad esempio, supponiamo di voler determinare se un valore è tra vari gruppi di numeri.

Prendiamo un numero casuale e chiediamo: se il numero tra 1 e 10, 20 e 30, 40 e 50 e simili.

Possiamo implementarlo usando alcune righe di codice come:

casuale = 34
corretto = case casuale
Quando 1 ... 10 allora "Sono qui"
Quando 11 ... 20 allora "ho oltre 10"
Quando 21 ... 30 allora "Prova sopra 20"
Quando 31 ... 40 allora "Sono sopra 15 x 2"
Quando 41 ... 50 allora "Sono a metà strada!"
altro
mette "Sono completamente perso!"
FINE
mette corretto

Il codice sopra utilizza gli intervalli per verificare alcune fasce di gamma e valutare se il valore casuale è all'interno di entrambi i set.

Intervalli

L'implementazione finale delle gamme di rubini sta testando se un valore si trova all'interno di un intervallo di altri valori. È difficilmente distinguibile dai condizionali, ma utilizza gli operatori logici per valutare.

Per esempio:

if ((1 ... 10)) === 7
mette "forse controlla altri posti"
Elsif
mette "potrei essere qui"
FINE

La semplice implementazione sopra controlla se il valore 7 rientra nell'intervallo 1 e 10 ed esegue un codice se vero.

Includere e copertura

Esistono due metodi che puoi usare quando lavori con le gamme di rubini. Questi sono l'inclusione e la copertina.

Il metodo include funziona controllando se un valore è nell'intervallo, mentre la copertura controlla il valore iniziale e finale dell'intervallo per una corrispondenza.

put (1 ... 10).includere? 10
put (1 ... 10).copertina? 1

Chiusura

In questa rapida guida, abbiamo discusso delle basi dell'uso di gamme in Ruby. Sebbene ci sia di più, il concetto discusso in questo tutorial dovrebbe aiutarti a capire gli intervalli in Ruby. Per saperne di più, dai un'occhiata alla documentazione ufficiale.