Issue #3388 has been updated by mame (Yusuke Endoh).


After that, `String#start_with?` now accepts regexp (#13712).  But `end_with?` does not support regexp yet because we don't have a direct use case for `end_with?` (and because of the difficulty of implementation).

----------------------------------------
Feature #3388: regexp support for start_with? and end_with?
https://bugs.ruby-lang.org/issues/3388#change-67928

* Author: trans (Thomas Sawyer)
* Status: Feedback
* Priority: Normal
* Assignee: naruse (Yui NARUSE)
* Target version: next minor
----------------------------------------
=begin
 ruby-1.9.2-head > "aBcdeFghIj".start_with?(/abc/i)
 => false 
 
 In my implementation of start_with? it is easy enough to utilize #index, which works fine:
 
   def start_with?(pattern)
     index(pattern) == 0
   end
 
 But #end_with? is more difficult, and I had to use regular expressions.
 
     def end_with?(suffix)
       suffix = Regexp.escape(suffix) if String===suffix
       /#{suffix}$/.match(self) ? true : false
     end
 
 However, we might get rid of the '? true : false' and return the MatchData, since that could be useful information.
=end


---Files--------------------------------
0001-string.c-rb_str_start_with-rb_str_end_with-allow-Reg.patch (4.08 KB)


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