68 votes

Vérifier si un entier est compris dans un intervalle

Existe-t-il un moyen simple d'évaluer si un nombre entier se situe dans cet intervalle en utilisant la fonction (2..100) syntaxe.

Par exemple, supposons que je veuille évaluer comme vrai si mon entier x = 100 et ma fourchette est la suivante (0..200) Je cherche simplement la manière simple et concise de faire cela en Ruby.

152voto

Akshay Mohite Points 300

Il existe de nombreuses façons de faire les mêmes choses en Ruby. Vous pouvez vérifier si une valeur est comprise dans un intervalle en utilisant les méthodes suivantes,

14.between?(10,20) # true

(10..20).member?(14) # true

(10..20).include?(14) # true

Mais je suggère d'utiliser between? plutôt que member? o include?

Tous les nombres littéraux désignent des plages inclusives. Vous trouverez plus d'informations à ce sujet sur le site Ruby in Rails .

22voto

Rudy Matela Points 1566

Vous pouvez utiliser le \=== opérateur :

(1..10) === 1 #=> true
(1..10) === 100 #=> false

7 votes

Notez simplement qu'en utilisant cette solution, j'ai constaté qu'il faut tenir compte de l'ordre dans lequel les conditions sont écrites. 1 === (1..10) produira de fausses

12voto

Nikolaus Gradwohl Points 8296

Vous pouvez utiliser le member? de la plage pour tester cette méthode

 (1..10).member?(1)   => true
 (1..10).member?(100) => false

9voto

sepp2k Points 157757
(2..100).include?(5) #=> true
(2..100).include?(200) #=> false

Il convient de noter que 2..0 est un intervalle vide, donc (2..0).include?(x) renverra false pour toutes les valeurs de x .

0voto

Raoul Duke Points 2091

Jetez un coup d'œil à cette question : Déterminer si une variable se situe dans une fourchette ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X