2010-08-19 8 views

Répondre

2

C'est peut-être?

File.open(".bashrc").each_line do |line| 
    if (line == "foo") 
     return true 
    end 
end 
return false 
2
path_seen = false 
File.open(~/.bashrc) do |f| 
    f.grep(/export PATH:\/var\/lib\/gems\/1.9.1\/bin:\$PATHg/) do |line| 
     path_seen = true 
    end 
end 
0

Votre question signifiait probablement dire:

export PATH=/var/lib/gems/1.9.1/bin:$PATH 

(note de la première ':' aurait été '=')

En outre, lors de la création d'expressions régulières avec Beaucoup de '/' (comme dans la solution de @ ennuikiller) vous pouvez utiliser le constructeur% r {} plutôt que //. Par exemple:

f.grep(/export PATH:\/var\/lib\/gems\/1.9.1\/bin:\$PATHg/) do |line| 

devient plus facile à lire (avec correction mineure - le retrait de la fuite « g »):

f.grep(%r{export PATH:/var/lib/gems/1.9.1/bin:\$PATH}) do |line| 
1

Depuis les retours chariot sont rares en ce jour et l'âge .. .

return File.open('.bashrc').lines.any? { |line| line.chomp == 'foo'} 
0

Je viens de tomber sur cette question qui cherchent à vérifier si un itinéraire spécifique Rails était déjà présent:

route = "mount Blorgh::Engine" 
File.open('config/routes.rb').each_line.any? {|line| line[/#{route}/] } 
Questions connexes