なぜRubyには単一のBooleanクラスではなく、TrueClassとFalseClassがあるのですか?
2023-11-11 01:55:47
質問
値をシリアライズする作業をしていて、このことを知りました。Rubyでは
TrueClass
クラスがあり
FalseClass
クラスがありますが、これには
Boolean
クラスがありません。この理由を知りたいです。
を使うことには、いくつかの利点があると思います。
Boolean
例えば、文字列の解析はその上で一元化されるかもしれません。
Rubyの開発者は私よりも賢いので、私が見ていないだけで、たくさんの良い理由があるに違いありません。しかし、今現在、私には
OneClass
と
TwoClass
の代わりに
Fixnum
.
どのように解決するのですか?
この質問に対しては、Matz氏自身が メーリングリストメッセージ で答えているようです。
彼の回答の短いバージョン: "現在、それは大丈夫です、ブール値を追加しても何の利点もありません"。
個人的にはそれには同意できません。前述の "string parsing" はその一例です。もう 1 つは、変数の型によって異なる処理を適用する場合 (たとえば、yml パーサー)、"Boolean" クラスを持つことは便利です - それは 1 つの "if" を削除します。また、その方がより正しく見えますが、これは個人的な意見です。
関連
-
[解決済み] Rubyのclass << selfイディオム
-
[解決済み] RubyでBegin, Rescue, Ensure?
-
[解決済み] Rubyのmap(&:name)ってどういう意味?
-
[解決済み] ルビーです。インスタンスからクラスメソッドを呼び出す
-
[解決済み】Ruby: Gemfileの「require: false」はどういう意味ですか?
-
[解決済み】rubyには本当のマルチスレッドがあるのか?
-
[解決済み】RubyにあってPythonにないもの、またその逆は何ですか?
-
[解決済み] なぜRubyにはprivateとprotectedの両方のメソッドがあるのですか?
-
[解決済み] rvm use 2.0.0 --default を実行すると、"Warning! PATH is not properly set up" と表示される。
-
[解決済み] Rubyのモジュール/ミキシンからクラスメソッドを継承する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Hash each ループでインデックスにアクセスすることは可能ですか?
-
[解決済み] Rubyにおけるtapメソッドの利点
-
[解決済み] Ubuntu 14.04にRuby 2.1.4をインストールする方法
-
[解決済み] Ruby: selfを拡張する
-
[解決済み] Herokuの基本的なアプリのロードに2秒かかるのはなぜですか?
-
[解決済み] Capybaraで要素の正確なテキストをマッチングして要素を見つける方法
-
[解決済み] bundler vs RVM vs gems vs RubyGems vs gemsets vs system ruby [closed].
-
[解決済み] ルビー、!オペレーター(a/k/a ダブルバン)[重複]|日本郵船
-
[解決済み] MacでRubyを1.9.xにアップデートするには?
-
[解決済み] Rubyで2つの配列のマージとインターリーブ