【Rubyの】..と...の違い【細かい文法】

想定する読者層

  • ..と...の違いを忘れてしまった人
  • そんなの違いあるの?って人
  • 今まさにrandメソッドを使おうとしている人

結論

  • ..は最大値を含む
  • ...は最大値を含まない
  • 例えば(1..10)は10を含むけど(1...10)は10を含まない

これだけじゃ分かりにくいよーっていう人は最後まで見て下さい。

rand(1..5)

 

と書いたら1、2、3、4、5のうちの一つがランダムに出力されます。5を含むというのがポイント。

 

rand(1...5)

 

と書いたら1、2、3、4のうちの一つがランダムに出力されます。5を含まないというのがポイント。

 

ちなみに

 

rand(5)

 

と書いたら0、1、2、3、4のうちの一つがランダムに出力されます。5を含まない&0を含むというのがポイント。

 

まとめ

今回この記事を書いた経緯としては、itemsテーブルの中でcategory_idが67〜94番まで取り出したいけど、どうやって書くんだっけ?となったというのがあります。

「.」が一つ違うだけで全然違う結果になってしまうので注意が必要ですね!