From: merch-redmine@... Date: 2020-08-11T14:38:42+00:00 Subject: [ruby-core:99556] [Ruby master Bug#17114] Float is not properly kept as integer when integer is added without space Issue #17114 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Rejected This is expected. `1.0.floor + 1` is parsed as `((1.0).floor).+(1)`. `1.0.floor +1` is parsed as `(1.0).floor(+1)`. This is also true for `-1`, it's just that `((1.0).floor).-(1)` and `(1.0).floor(-1)` are both `0`, since `(floor).floor(-1)` means the floor of the 10s column. You'll get different results for `10.0.floor -1` and `10.0.floor - 1`. ---------------------------------------- Bug #17114: Float is not properly kept as integer when integer is added without space https://bugs.ruby-lang.org/issues/17114#change-87016 * Author: tammo (tammo tjarks) * Status: Rejected * 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: