O Ruby tem um some_string.starts_with("abc")
método embutido?
O Ruby tem um some_string.starts_with("abc")
método embutido?
Respostas:
É chamado String#start_with?
, não String#startswith
: no Ruby, os nomes dos métodos boolean-ish terminam com ?
e as palavras nos nomes dos métodos são separadas por um _
. Não sei para onde s
foi, pessoalmente, eu preferiria String#starts_with?
o realString#start_with?
O título da pergunta e o corpo da pergunta são diferentes. Ruby não tem um start_with? método. O Rails , que é uma estrutura Ruby , no entanto, faz , como afirma o sepp2k. Veja o comentário dele na resposta para o link da documentação.
Você sempre pode usar uma expressão regular:
if SomeString.match(/^abc/)
# SomeString starts with abc
^
significa "início da string" em expressões regulares
?
no título da pergunta)
Se isso for para um projeto não-Rails, eu usaria String#index
:
"foobar".index("foo") == 0 # => true
start_with?
método pode simplesmente confirmar que o início da string corresponde à determinada string - processando assim no máximo n caracteres onde n é o comprimento da string especificada - ao passo index
que terá que procurar toda a cadeia de base. Em um caso de falha, starts_with?
terá um acesso (por sequência) e comparação, enquanto index
percorrerá quase todo o comprimento da sequência base.