1. ホーム
  2. ruby

[解決済み] Rubyで=~と/Θはどういう意味ですか?

2022-02-15 06:57:50

質問

私はRubyを独学で勉強しているのですが、ある問題を解決するために、多くの人が =~/\ をコードに追加しました。 これらがどのように機能するのかよく分からないので、説明が欲しいのです。 例えば、ある人のPig Latinトランスレータのコードを見ていたのですが、これらが使われているのを初めて見ました。

def piglatin(word)
   if word =~ (/\A[aeiou]/i)
      word = word + 'ay'
   elsif word =~ (/\A[^aeiou]/i)
      match = /\A[^aeiou]/i.match(word)
      word = match.post_match + match.to_s + 'ay'
   end
word
end

ただ、混乱しているのは /\ スラッシュと =~

解決方法は?

=~ は "マッチ演算子" として知られており、正規表現に対して文字列をマッチさせるために使用することができます。

/\ は、実際には2つの別々のものの一部です。 / は正規表現の開始を表し \A は「アンカー」と呼ばれ、「文字列の先頭から一致させる」という意味です。

を編集します。 これは、あなたが投稿したようなコードをより理解するのに役立つはずのドキュメントへのリンクです。

お疲れ様 ウェイン・コンラッド for a correction on '/'