=~?

Witam,
czy może ktoś mi powiedzieć co znaczy to wyrażenie?

if “test” =~ “test”

czy dobrze rozumie, że =~ oznacza zawiera w sobie?

pozdrawiam
L.

A działa ci to?

=~ sprawdza czy string z lewej pasuje do wyrażenia regularnego po prawej, ale u ciebie po prawej jest też string więc to nie powinno działać

nie wiem czy mi dziala czy nie :wink: zalezalo mi na tym by wiedziec co to jest =~, czyli po prawej jest wyrazenie regularne, tak? wiec

if “test” =~ /test/

to powinno zadzialac :slight_smile:

wielkie dzieki

pozdr.
L.

Generalnie jest to operator porownania z wyrazeniem regularnym.
Gdy po lewej stronie znajduje sie lancuch, a po prawej znajduje sie wyrazenie regularne, lancuch jest porownywany z wyrazeniem i zwracana jest pozycja dopasowania lub nil, jezeli wyrazenie nie zostalo dopasowane. Kiedy sa to dwa stringi, interpreter wyrzuca TypeError. W przeciwnym wypadku najczesciej zwraca false.
Sczegoly mozesz przeczytac w dokumentacji Ruby’ego.

Troche mnie wyprzedzily wczesniejsze odpowiedzi… :wink:

dzieki :slight_smile: