2013-06-20 91 views
2

我有一個學校的演習,我無法解決它。你可以幫我嗎? 問題是這樣的:這是什麼?方法意味着在Ruby中?

嘗試使用帶兩個參數的方法 - 使用between?方法 確定2點所在的1號和3

之間我試圖找到什麼是.between?方法但í找不到它。 我只知道這是一個方法

+10

嚴重的是,您試圖在多長時間內找到相關信息? Google上的「ruby between」的第一個搜索結果是http://ruby-doc.org/core-2.0/Comparable.html,這是它記錄的地方。 –

回答

11

的方法是Comparable#between?,你可以使用它像這樣:

2.between?(1, 3) 
# => true 
+0

2.between?(3,1) => false 這個怎麼樣? – ajahongir

+2

正如文檔所述,第一個參數是最小值,第二個參數是最大值。這將是微不足道的,寫一個包裝,不關心訂單,如果你需要一個... –

8

你有真的試過嗎?谷歌,第一連桿和 「紅寶石之間」?:

之間(最小,最大)→真或假 返回FALSE如果obj < => min是小於零,或者如果anObject < => max爲大於零,否則爲真。

http://ruby-doc.org/core-2.0/Comparable.html#method-i-between-3F

+1

是的,我已經搜查!但我想我沒有看到。抱歉。不管怎麼說,還是要謝謝你! –

+8

這個答案在我看來是不恰當的。當我在Google之間「Ruby之間」時,我得到了一些關於Ruby版本和Ruby與其他語言之間差異的結果。對我來說,一個完整的初學者無法追查文檔並不奇怪。 –

+3

我的第一個鏈接是官方文檔。我真的不認爲這對Ruby來說是個新東西可以防止你知道如何進行基本的谷歌搜索。 – Antoine

0

您可以使用Range#cover?作爲一種解決方案:

(1..3).cover? 2 #=> true 
0

嗯哦,當然,這是#===方法範圍:

(1..3) === 2 #=> true 
(1..3) === 4 #=> false 
2

使用between?是最簡單的方法,我發現這裏的大多數答案都沒有提到(ruby doc解釋也很難理解),使用between?確實包括minmax的值。

例如:

irb(main):001:0> 2.between?(1, 3) 
=> true 
irb(main):002:0> 3.between?(1, 3) 
=> true 
irb(main):003:0> 1.between?(1, 3) 
=> true 
irb(main):004:0> 0.between?(1, 3) 
=> false 

的方式,紅寶石DOC報價(太難理解爲新手):

之間(最小值,最大值)→真或假返回false obj < => min是 小於零或者如果anObject < => max大於零,則返回true否則返回true 。