Ruby 如何计算负数的平方根?

Ruby 如何计算负数的平方根?,ruby,complex-numbers,sqrt,Ruby,Complex Numbers,Sqrt,我正在尝试使用以下代码从负数的平方根创建一个复数: include Math z = Complex(sqrt(-9)) 但它会产生这样的错误: Math::DomainError:数值参数超出域-“sqrt” 来自kata2.rb:20:in'sqrt' 摘自kata2.rb:20:in'polinomio' 摘自kata2。rb:34 from/home/howarto/.rvm/rubies/ruby-2.0.0-p247/bin/irb:13:in`' 如何从负数的平方根构建复数

我正在尝试使用以下代码从负数的平方根创建一个复数:

 include Math
 z = Complex(sqrt(-9))
但它会产生这样的错误:

Math::DomainError:数值参数超出域-“sqrt”
来自kata2.rb:20:in'sqrt'
摘自kata2.rb:20:in'polinomio'
摘自kata2。rb:34
from/home/howarto/.rvm/rubies/ruby-2.0.0-p247/bin/irb:13:in`'

如何从负数的平方根构建复数?

数学.sqrt函数无法计算负数的平方根:

irb> Math.sqrt(-1)
Math::DomainError: Numerical argument is out of domain - "sqrt"
...
您必须使用根据需要返回复数的模块:

irb> require 'cmath'
irb> CMath.sqrt(-1)
# => (0+1.0i) 
irb> CMath.sqrt(-1).class
# => Complex
irb> CMath.sqrt(1).class
# => Float

如果您正在使用库,请指出您正在使用的内容。什么是
c
?这是一种方法吗?它是局部变量吗?是数字吗?是肯定的吗?是阴性吗?没有解释就不要使用它。别让我们试着猜。对不起,下次我会把所有的代码。c是一个数字