[#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

[ruby-core:67816] [ruby-trunk - Misc #10783] String#concat has an "appending" behavior

From: sawadatsuyoshi@...
Date: 2015-01-26 16:39:45 UTC
List: ruby-core #67816
Issue #10783 has been updated by Tsuyoshi Sawada.


I can't find the place in the documentation that says "Concatenation (aka +=
)". Is this your own claim? If so, then that is not incorrect.

----------------------------------------
Misc #10783: String#concat has an "appending" behavior
https://bugs.ruby-lang.org/issues/10783#change-51224

* Author: Antonio Scandurra
* Status: Open
* Priority: Normal
* Assignee:=20
----------------------------------------
Ruby String documentation (http://www.ruby-doc.org/core-2.2.0/String.html) =
introduces the two terms **Appending** and **Concatenation**:

- Concatenation (aka `+`) =E2=80=94Returns a new String containing other_st=
r concatenated to str.
- Append (aka `<<`) =E2=80=94Concatenates the given object to str.=20

However, calling `concat` results in an appending operation. I find this pa=
rticularly confusing and against the Principle of Least Surprise (e.g. I'd =
expect `concat` to actually concatenate something). On the other hand I und=
erstand that changing such a small method would result in a quite significa=
nt breaking change.

Do you see this as an inconsistency? If yes, is there any particular design=
 (or historical) reason behind it?

Thank you.

P.s. Seems like this is the case for `Array` as well.



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

In This Thread

Prev Next