
Issue #19859 has been updated by mame (Yusuke Endoh). I confirmed that, at least, Java, Python, JavaScript, Rust, .NET, PHP, and OCaml uses starts_with/ends_with or similar. https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Strin...) https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Strin...) https://docs.python.org/3/library/stdtypes.html#str.startswith https://docs.python.org/3/library/stdtypes.html#str.endswith https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Obj... https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Obj... https://doc.rust-lang.org/std/string/struct.String.html#method.starts_with https://doc.rust-lang.org/std/string/struct.String.html#method.ends_with https://learn.microsoft.com/en-us/dotnet/api/system.string.startswith?view=n... https://learn.microsoft.com/en-us/dotnet/api/system.string.endswith?view=net... https://www.php.net/manual/en/function.str-starts-with.php https://www.php.net/manual/en/function.str-ends-with.php https://v2.ocaml.org/api/String.html#VALstarts_with https://v2.ocaml.org/api/String.html#VALends_with ---------------------------------------- Feature #19859: Start & Finish, Begin & End https://bugs.ruby-lang.org/issues/19859#change-104591 * Author: thoran (thoran not blank) * Status: Closed * Priority: Normal ---------------------------------------- In English "start" is paired with "finish" and "begin" is paired with "end". While "start" and "begin", and "finish" and "end" have similar meanings they are not the same. Hence it should be: `String#begin_with?` & `String#end_with?` or maybe `String#start_with?` & `String#finish_with?` or both; but not certainly not `String#start_with?` & `String#end_with?` as it is presently. Further, I would argue that it should be only `String#begin_with?` & `String#end_with?` because "start" and "finish" imply temporality and strings don't have that connotation. Hence the solution here for me would be to: `/String#start_with?/String#begin_with?/`. If however there is a desire to retain interface compatibility and to adhere to TMTOWTDI, then introduce both: `String#begin_with?` and `String#finish_with?` -- https://bugs.ruby-lang.org/