1
raise NoSuchStrategyError unless some_string1[1] + some_string2[1] =~ /[RSP]{2}/i

「=~ /[RSP]{2}/i」の部分がわかりません。

答える時間があれば、助けていただければ幸いです。

つまり、そこで =~ は何をするのでしょうか?

「/ /i」はそこで何をしますか?

/[RSP]{2}/i は、[RSP] からすべての可能なペアを生成すると推測しています。本当?なぜ/ /iが必要なのですか?/[RSP]{2}/i と入力すると、irb でペアが生成されないのはなぜですか。irb から取得できるのは

=> /[RSP]{2}/i 

ペアではありません。

4

1 に答える 1

4

regex(正規表現)マッチ​​のショートカットです。ペアは生成されません。

=~演算子は、「左側の値は右側の正規表現と一致しますか?」という意味です。

/[RSP]{2}/正規表現リテラルです。代わりにそれを書くことができますRegex.new("[RSP]{2}")

最後に、/i正規表現リテラルの末尾は、この正規表現が大文字と小文字を区別しないことを意味します。

于 2013-02-09T10:37:08.750 に答える