Issue #17114 has been reported by tammo (tammo tjarks).

----------------------------------------
Bug #17114: Float is not properly kept as integer when integer is added without space
https://bugs.ruby-lang.org/issues/17114

* Author: tammo (tammo tjarks)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
Hello dear ruby community,
I observed the following strange behaviour (maybe it is intended) in Version 2.6.3p62:
ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

In pry I can see:
``` ruby
[7] pry(main)> 1.0.floor +1
=> 1.0
[8] pry(main)> (1.0).floor +1
=> 1.0
[9] pry(main)> (1.0.floor) +1
=> 2
[10] pry(main)> 1.0.floor + 1
=> 2
```
I think the reason is, that +1 is taken as argument to floor. Anyway, it is strange, that 1.0.floor is integer but 1.0.floor +1 again a float. Is this intended behaviour. I have not the lates ruby version installed, so I do not know if it may be changed. Also I observed it only with +1. With -1 I get:
``` ruby
[8] pry(main)> 1.0.floor -1
=> 0
```


Best regards,
Tammo







-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>