module function Kernel.#Complex

Complex(r, i = 0) -> Complex[permalink][rdoc]
Complex(s) -> Complex

実部が r、虚部が i である Complex クラスのオブジェクトを生成します。

[PARAM] r:
生成する複素数の実部。
[PARAM] i:
生成する複素数の虚部。省略した場合は 0 です。
[PARAM] s:
生成する複素数を表す文字列。
[EXCEPTION] ArgumentError:
変換できないオブジェクトを指定した場合に発生します。

例:

Complex(1)       # => (1+0i)
Complex(1, 2)    # => (1+2i)
Complex('1+1i')  # => (1+1i)
Complex('1+1j')  # => (1+1i)
# Complex.polar(10, 10) と同一。
Complex('10@10') # => (-8.390715290764524-5.440211108893697i)
Complex('_')     # => ArgumentError

r にも i にも複素数と解釈されるオブジェクトを指定した場合には、 Complex(a, b) を a+bi として計算した Complex オブジェクトを返します。

Complex('1+1i', '2+3i')                          # => (-2+3i)
Complex('1+1i') + Complex('2+3i') * Complex('i') # => (-2+3i)

[SEE_ALSO] Complex.rectComplex.rectangular

[注意] Complex.new、Complex.new! は 1.9 系では廃止されました。