1. ホーム
  2. ruby

[解決済み] ルビー演算子 "=~" 重複

2022-06-15 09:15:22

質問

rubyの場合、演算子をいくつか読んでみましたが =~ . とは何ですか? =~ は何のためにあるのか、あるいは何を意味するのか。私が見たプログラムでは

regexs = (/\d+/)
a = somestring
if a =~ regexs

を比較していたのだと思います。 somestring が数字と等しいかどうかを比較しているのだと思いますが、他に使い道はあるのでしょうか? =~ 演算子の適切な定義は何でしょうか?

どのように解決するのですか?

この =~ 演算子は文字列に対して正規表現をマッチさせ、マッチした文字列のオフセットが見つかればそれを、見つからなければnilを返します。

/mi/ =~ "hi mike" # => 3 
"hi mike" =~ /mi/ # => 3 

"mike" =~ /ruby/ # => nil 

上のように、演算子の両側に文字列/正規表現を配置することができます。