Regexp.new - zwracanie wartości

Witam.

Mam problem z takim oto programem:

s1 = gets
s2 = Regexp.new(s1 != nil)

puts s2(“abc”)

Chciałbym, aby łańcuch wprowadzony poprzez instrukcję gets (s1), był przetwarzany na wyrażenie regularne (które zwraca wynik false/true w porównaniu do wyrażenia wywoływanego instrukcją puts).
Nie wiem, gdzie jest błąd. Standardowo, wiem jak się tworzy wyrażenia regularne.

Pozdrawiam,
Zami17

Nie wiem, czy dobrze zrozumiałem, ale spróbuj poniższego.

s1 = Regexp.new(gets.chomp) # chomp co by uciąć newline puts !("abc".match s1).nil?

Rozumiem ten kod. Zastanawia mnie tylko wykrzyknik po instrukcji puts… Bez wykrzyknika, program zwraca wartość true/false w zależności od wyniku porównania “abc” i s1.

Wykrzyknik odwraca wartość logiczną…