11.5 操作和良构规则
本子章节包括基本类型的操作和良构规则。
11.5.1 Real
注意,UnlimitedNatural是Integer的子类,而Integer是Real的子类,因此对于Real类型的每个参数,你可以使用一个无线自然数或整数做为实际的参数。
+ (r : Real) : Real
self和 r 相加的值。
- (r : Real) : Real
从self减去r的值。
* (r : Real) : Real
self 和r的乘积值。
- : Real
self的相反值。
/ (r : Real) : Real
self除以r的值。如果r等于零,结果为invalid。
abs() : Real
self的绝对值。
post: if self < 0 then result = - self else result = self endif
floor() : Integer
小于等于self的最大整数。
post: (result <= self) and (result + 1 > self)
round() : Integer
距离self最近的整数。如果有两个这样的整数,那么是大的那个。
post: ((self - result).abs() < 0.5) or ((self - result).abs() = 0.5 and (result > self))
max(r : Real) : Real
self和r的最大者。
post: if self >= r then result = self else result = r endif
min(r : Real) : Real
self和r的最小者。
post: if self <= r then result = self else result = r endif
< (r : Real) : Boolean
如果self小于r,则为真。
> (r : Real) : Boolean
如果self大于r,则为真。
post: result = not (self <= r)
<= (r : Real) : Boolean
如果self小于等于r,则为真。
post: result = ((self = r) or (self < r))
>=(r : Real) : Boolean
如果self大于等于r,则为真。
post: result = ((self = r) or (self > r))
toString() : String
将self转换为一个字符串值。