names=Complex
visibility=public
kind=defined

--- Complex(r, i = 0) -> Complex
--- Complex(s)        -> Complex

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

@param r 生成する複素数の実部。

@param i 生成する複素数の虚部。省略した場合は 0 です。

@param s 生成する複素数を表す文字列。

@raise 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 として計算した [[c:Complex]] オブジェクトを返しま
す。

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

@see [[m:Complex.rect]]、[[m:Complex.rectangular]]

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

