![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
When arithmetic expressions contain instances that belong to multiple
classes, those expressions are called mixed expressions. The
general rule about mixed expressions is that Smalltalk attempts to
convert a number belonging to one class into a number belonging to another
class in a way that does not lose information. Thus, when given a mixed
expression that multiplies a Fraction
instance by an Integer
instance, Smalltalk creates a Fraction
instance from the
Integer
instance in the course of producing an answer. Similarly,
when given a mixed expression that multiplies a Float
instance by an
Integer
instance, Smalltalk creates a Float
instance from
the Integer
instance in the course of producing an answer:
6 * (2/5) <-- Multiply (6/1) times (2/5), answering (12/5) 6 * 3.1 <-- Multiply 6.0 times 3.1, answering 18.6