[#67346] Future of test suites for Ruby — Charles Oliver Nutter <headius@...>
I'll try to be brief so we can discuss all this. tl;dr: RubySpec is
19 messages
2015/01/05
[#67353] Re: Future of test suites for Ruby
— Tanaka Akira <akr@...>
2015/01/05
2015-01-06 7:18 GMT+09:00 Charles Oliver Nutter <headius@headius.com>:
[#67444] [ruby-trunk - Feature #10718] [Open] IO#close should not raise IOError on closed IO objects. — akr@...
Issue #10718 has been reported by Akira Tanaka.
3 messages
2015/01/09
[#67689] Keyword Arguments — Anthony Crumley <anthony.crumley@...>
Please forgive my ignorance as I am new to MRI development and am still
5 messages
2015/01/20
[#67733] [ruby-trunk - Bug #10761] Marshal.dump 100% slower in 2.2.0 vs 2.1.5 — normalperson@...
Issue #10761 has been updated by Eric Wong.
4 messages
2015/01/21
[#67736] Re: [ruby-trunk - Bug #10761] Marshal.dump 100% slower in 2.2.0 vs 2.1.5
— Eric Wong <normalperson@...>
2015/01/22
normalperson@yhbt.net wrote:
[#67772] Preventing Redundant Email Messages — Jeremy Evans <code@...>
For a long time, I've wondered why I sometimes receive redundant email
5 messages
2015/01/23
[ruby-core:67869] [ruby-trunk - Bug #10795] [Rejected] to_s returns references to self if called on string
From:
ruby-core@...
Date:
2015-01-28 21:08:22 UTC
List:
ruby-core #67869
Issue #10795 has been updated by Marc-Andre Lafortune.
Status changed from Open to Rejected
Remember, the principle of least astonishment applies to Matz only :-)
Changing this would, among other things, be a source of incompatibilities.
In any case, your code is better written
def coords_to_string
"#{latitude},#{longitude}"
end
----------------------------------------
Bug #10795: to_s returns references to self if called on string
https://bugs.ruby-lang.org/issues/10795#change-51272
* Author: Francesco Boffa
* Status: Rejected
* Priority: Low
* Assignee:
* ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin13.0]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
This is not actually a bug, but rather a strong violation of the Principle of least astonishment.
Lately I found a bug in the Rails project I work to. There was a method concatenating two float values with a comma, converting them to string like this:
~~~
def coords_to_string
latitude.to_s << "," << longitude.to_s
end
~~~
The bug happened when we passed latitude and longitude as strings instead of floats.
Actually, `5.12345.to_s` returns a new string object and any operation made on that string wont affect the original 5.12345. Instead `"5.12345".to_s` will return the same instance of that string, so that the `<<` method will affect the original string.
So we found that our latitude variable was growing on each call and after a while it become "5.12345,13.12345,13.12345,13.12345,13.12345,13.12345"
This was probably made like this for performance reasons, however we found it a clear violation of the POLA, whereas we expected to_s to always return a new instance of that string.
Hope, this may help.
Francesco Boffa
--
https://bugs.ruby-lang.org/