Method: String#to_c
- Defined in:
- complex.c
#to_c ⇒ Object
Returns self interpreted as a Complex object; leading whitespace and trailing garbage are ignored:
'9'.to_c # => (9+0i)
'2.5'.to_c # => (2.5+0i)
'2.5/1'.to_c # => ((5/2)+0i)
'-3/2'.to_c # => ((-3/2)+0i)
'-i'.to_c # => (0-1i)
'45i'.to_c # => (0+45i)
'3-4i'.to_c # => (3-4i)
'-4e2-4e-2i'.to_c # => (-400.0-0.04i)
'-0.0-0.0i'.to_c # => (-0.0-0.0i)
'1/2+3/4i'.to_c # => ((1/2)+(3/4)*i)
'1.0@0'.to_c # => (1+0.0i)
"1.0@#{Math::PI/2}".to_c # => (0.0+1i)
"1.0@#{Math::PI}".to_c # => (-1+0.0i)
Returns Complex zero if the string cannot be converted:
'ruby'.to_c # => (0+0i)
See Kernel#Complex.
2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 |
# File 'complex.c', line 2269 static VALUE string_to_c(VALUE self) { VALUE num; rb_must_asciicompat(self); (void)parse_comp(rb_str_fill_terminator(self, 1), FALSE, &num); return num; } |