2つの式の同等性をテストするクラスのインスタンスを初期化しています。
数式の計算値は実際には次のようになります。
RubyChem::Chemical.new("SOOS").fw
=> 96.0
RubyChem::Chemical.new("OSSO").fw
= 96.0
これら2つのインスタンスの同等性を確認するために新しいクラスを作成したとき、結果に少し驚いています。
x = RubyChem::BalanceChem.new("SOOS","OSSO")
x.balanced
=>false
y = RubyChem::BalanceChem.new("SOOS","SOOS")
y.balanced
=> true
RubyChem::BalanceChem初期化メソッドは次のとおりです。
def initialize(formula1, formula2)
@balanced = RubyChem::Chemical.new(formula1).fw == RubyChem::Chemical.new(formula2).fw
end
なぜrubyはformula1とformula2のfw値をフェッチして、それらの値が等しいかどうかをチェックしないのですか?Rubyでの操作の順序は何ですか?Rubyは何をしていますか?この問題についての理解が不足していることがわかります。どうすればこれを機能させることができますか?前もって感謝します。