From: Jano Svitok Date: 2007-12-06T21:38:40+09:00 Subject: Re: if /hello/ =~line On Dec 6, 2007 12:49 PM, Lee Jarvis wrote: Sometimes it's better to cache the /#{var}/ as in this case, new regexp object is created on each pass through the cycle. That might hurt the performance a bit. So: > var = "hello" + var_re = /#{var}/ > File.foreach "file.txt" do |line| - if /#{var}/ =~ line + if var_re =~ line > puts "found it" > break > end > end (This might apply for 1.8 MRI only, other interpreters might be different): When the regex literal contains #{}, the object is created on each pass through the code. In the other case it's created only once. Jano