Подтвердить что ты не робот

У Ruby есть встроенный метод string.startswith( "abc" )?

У Ruby есть метод some_string.starts_with("abc"), который встроен?

4b9b3361

Ответ 1

Он называется String#start_with?, а не String#startswith: в Ruby имена методов boolean-ish заканчиваются на ? и слова в именах методов разделяются символом _. Не уверен, куда отправился s, я бы предпочел String#starts_with? по фактическому String#start_with?

Ответ 2

Название вопроса и ваше тело вопроса разные. У Ruby нет start_with? метод. Однако Rails, который представляет собой структуру Ruby, делает, как указано в sepp2k. См. Его комментарий к его ответу для ссылки на документацию для него.

Вы всегда можете использовать регулярное выражение:

if SomeString.match(/^abc/) 
   # SomeString starts with abc

^ означает "начало строки" в регулярных выражениях

Ответ 3

Если это для проекта без Rails, я бы использовал String#index:

"foobar".index("foo") == 0  # => true

Ответ 4

Вы можете использовать String =~ Regex. Он возвращает позицию полного соответствия регулярных выражений в строке.

irb> ("abc" =~ %r"abc") == 0
=> true
irb> ("aabc" =~ %r"abc") == 0
=> false