builtins/kernel_complex.rb
tests/_examples/builtins/kernel_complex.rb in the metorex repository.
c = Complex(3, 4)
puts c.real
puts c.imaginary
puts c.to_s
p c
puts Complex(1, 2) == Complex(1, 2)
puts Complex(5) == 5
puts Complex(1, 0) == 1.0
puts Complex("20") == Complex(20)
puts Complex("-3") == Complex(-3)
puts Complex("2/3") == Complex(Rational(2, 3))
puts Complex("4+2.3i") == Complex(4, 2.3)
puts Complex("35i") == Complex(0, 35)
puts Complex("i") == Complex(0, 1)
puts Complex("-i") == Complex(0, -1)
puts Complex("79-i") == Complex(79, -1)
puts Complex("79+4J") == Complex(79, 4)
puts Complex("2e3+2e4i") == Complex(2e3, 2e4)
puts Complex("7_9+4_0i") == Complex(79, 40)
puts Complex(" 79+4i ") == Complex(79, 4)
puts Complex(Complex(3, 4), Complex(5, 6)) == Complex(3 - 6, 4 + 5)
puts Complex(Complex(1, 2)) == Complex(1, 2)
begin
Complex("ruby")
rescue ArgumentError => error
puts error.message
end
begin
Complex(nil)
rescue TypeError => error
puts error.message
end
p Complex("ruby", exception: false)
puts Complex(1).frozen?
Output:
3
4
3+4i
(3+4i)
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
invalid value for convert(): "ruby"
can't convert nil into Complex
nil
true