Pregunta

I am looking for an alternative that would solve the following issue:

with .detect if I am looking for stringvalue and the value given is 132stringvalue, it will still return true. I need an alternative that will be matching everything from the beginning of the string. Any suggestions aside from regex?

¿Fue útil?

Solución

[1] pry(main)> %w[foo 456foo bar 123bar].detect {|e| e.to_i > 0}
=> "456foo"
[2] pry(main)> %w[foo 456foo bar 123bar].detect {|e| e.start_with?('123')}                   
=> "123bar"

Otros consejos

You can use String#[] (see doc):

1.9.3p194 :001 > "123stringvalue"["stringvalue"]
 => "stringvalue" 
1.9.3p194 :002 > "123stringvalue"["blah"]
 => nil 

It returns the substring if present, nil otherwise.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top