Ich bereite Tests in Ruby/Cucumber/Calabash vor. Ich habe eine Textdatei voller Protokolle. Ich muss überprüfen, ob bestimmte Zeile/Satz in den Protokollen vorhanden ist, z. B. "Bitte beantworten Sie meine Frage". Ich nehme an, dass jedes Wort unabhängig mehrere Male vorhanden ist, aber in dieser Zeile nur einmal. Ich muss TRUE zurückgeben. Bisher als ich versuchte, mit:wie überprüft man, ob eine Datei eine bestimmte Zeile in Ruby enthält
def check_file(file, string)
File.open(file) do |io|
io.each {|line| line.chomp! ; return line if line.include? string}
end
nil
end
und es ist immer noch arbeiten String existiert nicht (ich bin nicht sicher, warum?)
Soll ich Arrays versuchen?
Wie könnte es jemals zurückkehren 'true' wenn die letzte Zeile' nil' ist? Sie möchten [Enumerable #find] (http://ruby-doc.org/core-2.3.1/Enumerable.html#method-i-find) verwenden, nicht [IO.each] (http: // rubi- doc.org/core-2.3.0/IO.html#method-i-each) wenn Sie nur wissen wollen, ob der String mindestens einmal in der Datei vorhanden ist. ('IO'' '' Enumerable' '). –
Können Sie zeigen, wie es heißt? –