Has anyone run tests to see what the fastest way to do a
String#starts_with?(otherstring) is? I'll need this in an inner loop,
so it's worth squeezing out the few drops of extra speed.
martin
Has anyone run tests to see what the fastest way to do a
String#starts_with?(otherstring) is? I'll need this in an inner loop,
so it's worth squeezing out the few drops of extra speed.
martin
Martin DeMello wrote:
Has anyone run tests to see what the fastest way to do a
String#starts_with?(otherstring) is? I'll need this in an inner loop,
so it's worth squeezing out the few drops of extra speed.
String#index should be the fastest
lopex
thanks. any suggestions for #ends_with?
martin
On 7/9/06, Marcin Mielżyński <lopx@gazeta.pl> wrote:
Martin DeMello wrote:
> Has anyone run tests to see what the fastest way to do a
> String#starts_with?(otherstring) is? I'll need this in an inner loop,
> so it's worth squeezing out the few drops of extra speed.String#index should be the fastest
Marcin Mielżyński wrote:
String#index should be the fastest
I'm afraid it isn't suitable for this case. String#index searches the whole string when the string doesn't start with the start, which is very bad.
Use String# or a regular expression:
text = "this is a test"
search = "this"
text[0, search.length] == search #=> true
text =~ /^this/ #=> 0 (true)
text =~ /^test/ #=> nil (false)
Cheers,
Robin Stocker
Martin DeMello wrote:
thanks. any suggestions for #ends_with?
Yes, two examples:
"this is a test" =~ /test$/ #=> 10 (true)
text = "this is a test"
search = "test"
text[text.length - search.length, search.length] == search #=> true