Issue #10518 has been updated by Robert A. Heiler.


I looked at the String#count documentation:

http://www.ruby-doc.org/core-2.1.4/String.html#method-i-count

Allow me to copy paste from it:

"Each other_str parameter defines a set of characters to count. The intersection of these sets defines the characters to count in str. Any other_str that starts with a caret ^ is negated. The sequence c1-c2 means all characters between c1 and c2. The backslash character </code> can be used to escape <code>^ or - and is otherwise ignored unless it appears at the end of a sequence or the end of a other_str."

Firstly, why are the strange code tags there?

Secondly - this is not made very clear to me IMHO that the - character is treated in a special way.

Perhaps the documentation can be made more clear in this regard.

----------------------------------------
Bug #10518: String "delete" method does not remove some characters from input string
https://bugs.ruby-lang.org/issues/10518#change-49980

* Author: Sergio Gallelli
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: ruby 2.1.4p265 (2014-10-27 revision 48166) [i386-mingw32]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
This bug affects all Ruby versions I tried, i.e. 2.0.0 and 2.1.4 on Windows and 2.1.5 on Linux
In some cases the String "delete" method does not remove all the characters from the input string I ask for removal.
The problem seems to depend on the string passed as argument to the delete method and on the order of its characters.
Please take a look at the simple "irb" dump below: 

irb(main):001:0> str = 'A-B'
=> "A-B"
irb(main):002:0> str.delete ' -#'
=> "A-B"
irb(main):003:0> str.delete ' #-'
=> "AB"

If I try to remove the dash from string 'A-B' passing ' -#' to the delete method, it does not work.
If I change the order of the characters passed to the delete method, the result is correct.
The attached Ruby program shows the above problem.

---Files--------------------------------
str_delete_bug.rb (59 Bytes)


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