2010-08-17 68 views
36

Tôi không biết liệu tôi có đang tìm kiếm những thứ sai hay không, nhưng có cách đơn giản để đánh giá phạm vi và kiểm tra xem một số nguyên nằm trong phạm vi đó bằng cách sử dụng (2..100) cú pháp. Ví dụ: giả sử tôi muốn đánh giá là đúng nếu số nguyên x = 100 và phạm vi của tôi là (0..200), tôi chỉ đang tìm cách đơn giản, súc tích để làm điều này.Kiểm tra xem một số nguyên nằm trong phạm vi

+0

oops, ý tôi là 0..200 –

Trả lời

77

Có rất nhiều cách để làm những điều tương tự trong Ruby. Bạn có thể kiểm tra xem giá trị nằm trong phạm vi bằng cách sử dụng các phương pháp sau đây,

14.between?(10,20) # true

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

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

Nhưng, tôi sẽ đề nghị sử dụng between? hơn member? hoặc include?

Tất cả các chữ số biểu thị phạm vi bao gồm. Bạn có thể tìm hiểu thêm về nó trên Ruby in Rails.

+0

Cũng được đề cập trong [Hướng dẫn kiểu cộng đồng Ruby] (https://github.com/bbatsov/ruby-style-guide/commit/1b8c788c836f00507056eba21d4b9ca8078eec3e). – Dennis

11

bạn có thể sử dụng phương pháp member? của dãy núi này để kiểm tra này

(1..10).member?(1) => true 
(1..10).member?(100) => false 
9
(2..100).include?(5) #=> true 
(2..100).include?(200) #=> false 

Lưu ý rằng 2..0 là một loạt sản phẩm nào, vì vậy (2..0).include?(x) sẽ trở lại false cho tất cả các giá trị của x.

13

Bạn có thể sử dụng === operator:

(1..10) === 1 #=> true 
(1..10) === 100 #=> false 
Các vấn đề liên quan