这是我的表达
Math.sqrt((4.5-4.0 ** 2) + (1.0 - 2.0 ** 2))
我得到了这个
Math::DomainError: Numerical argument is out of domain - "sort"
怎么了?
答案 0 :(得分:3)
因为乘法在加法之前进行了求值,所以括号中的表达式结果为负,而ruby不会取负数的平方根。
答案 1 :(得分:1)
我认为你可能想写:
Math.sqrt( (4.5-4.0)**2 + (1.0 - 2.0)**2 )
如前所述,你试图取负数的平方根, 它不适用于任何标准编程语言。