Мне нужно отсканировать текстовый файл для появления «attach» в строке, которая не начинается с>. Если я нахожу прикрепить к нему, я выхожу с 1, в противном случае 0Ruby Regex: сканирование строки, если строка не начинается с>
Вот пример:
>hello!
>foo
>bag
>whatever
attach
И этот пример будет завершаться с 1.
>attach
>foo
>too
В этом примере будет иметь выдается с 0, так как единственное появление attach появляется в строке, начинающейся с a>.
Это набросок того, что я до сих пор, но синтаксис ускользает от меня за то, как я хотел бы сделать это с Руби Regex:
text = IO.read(ARGV[0]).scan(/^"[attach]"/)exit!(1)
exit(0)
Так что идея здесь заключается в том, что я выполняю то, что требование о проверке делает, и немедленно выйдите с 1, если я нашел прикрепление.
Таким образом, любое понимание было бы замечательным! (Примечание: мне не разрешено использовать цикл!)
ПРИМЕЧАНИЕ: «Прикрепить» необходимо только появляться на линии в любом месте линии. Таким образом, линия вида:
file hello attach hi
бы выйти с 1.
EDIT:
Ниже текущий файл test.txt Я бегу против. Мой синтаксис для запуска этого, под 1.9.3
рубин attach.rb test.txt
, а затем я эхо из возвращения:
эхо $?
Это файл, названный test.txt
> attach
> hello!
> how are you?
attach
Этот файл должен возвращать 1.
Используя этот файл, вот что я хочу видеть:
-bash-4.1$ ruby attach.rb test.txt
-bash-4.1$ echo $?
0
Это выглядит большим, но это все-таки возвращается 0, когда оно не должно быть – iMatthewCM
И когда это? –
Если слово «attach» появляется в строке, которая НЕ начинается с a>, тогда верните 1. Если таких случаев нет, верните 0. – iMatthewCM