我正在初始化一个测试两个公式是否相等的类的实例。
该公式的计算值实际上是相等的:
RubyChem::Chemical.new("SOOS").fw
=> 96.0
RubyChem::Chemical.new("OSSO").fw
= 96.0
当我创建一个新类来检查这两个实例的相等性时,我对结果有点惊讶:
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 不获取公式 1 和公式 2 的 fw 值并检查这些值的相等性?Ruby 中的操作顺序是什么,Ruby 在做什么?我可以看到我对这个问题缺乏了解。我怎样才能使这项工作?先感谢您。