Как проверить текстовый файл на наличие строки и выполнить код, если строка отсутствует? - PullRequest
1 голос
/ 26 марта 2019

Я пробовал:

elsif file.grep(/Mode: 1/)
   puts "test"
else
   puts "test but else" 

Кодейси говорит, что это неправильно. Есть ли способ улучшить это? Согласно Кодаси:

unexpected token kELSIF (Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)

unexpected token kELSE (Using Ruby 2.2 parser; configure using `TargetRubyVersion` parameter, under `AllCops`)

1 Ответ

4 голосов
/ 26 марта 2019

Вы можете использовать IO::read для назначения содержимого текстового файла, а затем String#include? для проверки.

file_string = File.read('path/to/file')

if file_string.include?('substring')
  puts 'Yes'
else
  puts 'No'
end

Также вы можете заменить его на String#match? (это быстрее).

file_string.match?(/pattern/) вернет true или false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...