From: Benoit Daloze Date: 2011-11-02T00:03:02+09:00 Subject: [ruby-core:40634] [ruby-trunk - Bug #5536] String#start_with? and end_with? ignore arguments convertible to a String [PATCH] Issue #5536 has been updated by Benoit Daloze. File 0002-test-ruby-test_string.rb-add-test_start_with-and-tes.patch added Tests attached. ---------------------------------------- Bug #5536: String#start_with? and end_with? ignore arguments convertible to a String [PATCH] http://redmine.ruby-lang.org/issues/5536 Author: Benoit Daloze Status: Assigned Priority: Normal Assignee: Yukihiro Matsumoto Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2011-11-01 trunk 33605) [x86_64-linux] Hi, Currently, String#start_with? and String#end_with? ignore arguments not convertible to String. I believe it should instead raise an error, as it may lead to false expectations from the user and it is inconsistent with the rest of the API. For example, if I try to use start_with? with a RegExp (which would be a nice feature BTW): "str".start_with? /s/ # => false I believe it should be: "str".start_with? /s/ # => TypeError: can't convert Regexp into String If you prefer the current behavior, could you explain me why? P.S.: There is no test for String#{start,end}_with? in test/, should I add one or is it enough to change RubySpec (which I'll do when this gets accepted)? -- http://redmine.ruby-lang.org