У Ruby есть метод some_string.starts_with("abc")
, который встроен?
У Ruby есть встроенный метод string.startswith( "abc" )?
Ответ 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