Class: Rational::compatible
Instance Method Summary collapse
-
#marshal_load(a) ⇒ Object
private
:nodoc:.
Instance Method Details
#marshal_load(a) ⇒ Object (private)
:nodoc:
1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 |
# File 'rational.c', line 1706 static VALUE nurat_marshal_load(VALUE self, VALUE a) { rb_check_frozen(self); rb_check_trusted(self); Check_Type(a, T_ARRAY); if (RARRAY_LEN(a) != 2) rb_raise(rb_eArgError, "marshaled rational must have an array whose length is 2 but %ld", RARRAY_LEN(a)); if (f_zero_p(RARRAY_AREF(a, 1))) rb_raise_zerodiv(); rb_ivar_set(self, id_i_num, RARRAY_AREF(a, 0)); rb_ivar_set(self, id_i_den, RARRAY_AREF(a, 1)); return self; } |