## Feature #10131

Updated by nobu (Nobuyoshi Nakada) over 5 years ago

It happens too often to me that I want to calculate the greatest multiple of numeric r not greater than numeric x. This can be done by a simple operation below:

~~~ruby

x, r = 3.7, 0.5

x.div(r).*(r) #=> 3.5

x, r = 41, 6

x.div(r).*(r) #=> 36

~~~

but I encounter this operation so often that I think it is an essential operation, and should be done as a single operation. Can any of the existing zero-ary operation be extended to take an optional argument to do this calculation? For example

~~~ruby

3.7.floor(0.5) #=> 3.5

41.floor(6) #=> 36

~~~

~~~ruby

x, r = 3.7, 0.5

x.div(r).*(r) #=> 3.5

x, r = 41, 6

x.div(r).*(r) #=> 36

~~~

but I encounter this operation so often that I think it is an essential operation, and should be done as a single operation. Can any of the existing zero-ary operation be extended to take an optional argument to do this calculation? For example

~~~ruby

3.7.floor(0.5) #=> 3.5

41.floor(6) #=> 36

~~~