Ruby ha un some_string.starts_with("abc")
metodo integrato?
Ruby ha un some_string.starts_with("abc")
metodo integrato?
Risposte:
Si chiama String#start_with?
, non String#startswith
: In Ruby, i nomi dei metodi booleani-ish terminano con ?
e le parole nomi dei metodi sono separati con una _
. Non sono sicuro di dove sia s
andato, personalmente, preferirei String#starts_with?
al realeString#start_with?
Il titolo della domanda e il corpo della domanda sono diversi. Ruby non ha start_with? metodo. Rails , che è un rubino quadro , però, lo fa , come Stati sepp2k. Vedi il suo commento sulla sua risposta per il link alla documentazione per esso.
Puoi sempre usare un'espressione regolare però:
if SomeString.match(/^abc/)
# SomeString starts with abc
^
significa "inizio della stringa" nelle espressioni regolari
?
in questione il titolo)
Se questo è per un progetto non Rails, utilizzerei String#index
:
"foobar".index("foo") == 0 # => true
start_with?
metodo può semplicemente confermare che l'inizio della stringa corrisponde alla stringa specificata, elaborando così al massimo n caratteri in cui n è la lunghezza della stringa specificata, mentre index
dovrà cercare l'intera stringa di base. In caso di errore, starts_with?
richiederà un accesso (per stringa) e un confronto, mentre index
percorrerà quasi l'intera lunghezza della stringa di base.