Есть ли в Ruby встроенный метод string.startswith ("abc")? - PullRequest
190 голосов
/ 09 ноября 2010

Есть ли в Ruby встроенный метод some_string.starts_with("abc")?

Ответы [ 4 ]

322 голосов
/ 09 ноября 2010

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

40 голосов
/ 09 ноября 2010

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

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

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

^ означает «начало строки» в обычномвыражения

17 голосов
/ 09 ноября 2010

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

"foobar".index("foo") == 0  # => true
5 голосов
/ 09 ноября 2010

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

irb> ("abc" =~ %r"abc") == 0
=> true
irb> ("aabc" =~ %r"abc") == 0
=> false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...