[解決済み] ...』の違い (ダブルドット) と '...' の違い?(トリプルドット)の違いについて教えてください。
2022-07-12 10:04:07
質問
RubyとRuby on Railsを学び始めたところ、範囲を使用する検証コードに出会いました。
validates_inclusion_of :age, :in => 21..99
validates_exclusion_of :age, :in => 0...21, :message => "Sorry, you must be over 21"
最初はエンドポイントの入れ方の違いかと思ったのですが、調べたAPIドキュメントでは、どうやら
..
なのか
...
というように、常にエンドポイントを含んでいました。
しかし、irbでテストをしてみたところ、どうやら
..
は両方のエンドポイントを含んでいるのに対し
...
は下限だけを含み、上限は含まなかった。これは正しいのでしょうか?
どのように解決するのですか?
この のドキュメントは、Range † にはこのように書かれています。
で構成される範囲
..
を使って作られた範囲は、最初から最後までを含みます。また...
を使用して作成されたものは、終了値を除外します。
そこで
a..b
は
a <= x <= b
のようなもので、一方
a...b
は
a <= x < b
.
なお
to_a
は整数のコレクションを与えますが、Rangeは
ではなく
でなく、単に開始と終了の値の組です。
(1..5).include?(5) #=> true
(1...5).include?(5) #=> false
(1..4).include?(4.1) #=> false
(1...5).include?(4.1) #=> true
(1..4).to_a == (1...5).to_a #=> true
(1..4) == (1...5) #=> false
†
以前は、docs はこれを含まず、代わりに
Pickaxe の Ranges のセクション
. MarkAmery のおかげで (
を参照してください。
) がこの更新を指摘してくれました。
関連
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] PHPの文字列で、シングルクオートとダブルクオートの違いは何ですか?
-
[解決済み] Python 2.Xのrange関数とxrange関数の違いは何ですか?
-
[解決済み] .の違いは何ですか?(ドット)と$(ドルマーク)の違いは何ですか?
-
[解決済み] Bashのシングルクォートとダブルクォートの違い
-
[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
-
[解決済み] イコール、エクル、==、==の違いは何ですか?
-
[解決済み] 割り算で使う場合の「/」と「//」の違いは何ですか?
-
[解決済み] クラスとモジュールの違い
-
[解決済み] ルビー 負の数を正の数に変換する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] なぜsumはinject(:+)よりもずっと速いのですか?
-
[解決済み] Rubyでシングルクォートとダブルクォートを使い分けるとパフォーマンスが上がりますか?
-
[解決済み] Rubyの理想的なプロジェクト構造
-
[解決済み] Rubyの継承とミキシンの比較
-
[解決済み] 現在の日時をDD/MM/YYYY HH:MM形式で取得するにはどうすればよいですか?
-
[解決済み] Hash each ループでインデックスにアクセスすることは可能ですか?
-
[解決済み] Ruby: 文字列の最初の文字を取得する方法
-
[解決済み] ルビー 負の数を正の数に変換する?
-
[解決済み] rubyのinjectはreduceと同じ意味ですか?
-
[解決済み] Ruby: selfを拡張する