1

私はこれまでルビースクリプトで何かをしたことがなく、ここの誰かがすぐに答えてくれることを望んでいました。私は時間に敏感なプロジェクトに取り組んでおり、SOが何らかの洞察を提供できることを望んでいました。

私はこの辺りをグーグルで検索し、いくつかのルビースクリプトガイドを探しました。次のコードのほとんどを理解していると思いますが、理解できなかったことがいくつかあります。

私はルビースクリプトから次の抜粋を持っています、そして私はそれが何をしているのかを知る必要があります:

ここで、docNameとdocument_nameはファイルパスの文字列です。

case docName 
when /^QRX/ then document_name = "/TRPRR/#{docName}"
when /^BVN/ then document_name = "/TRPRR/#{docName}"
....

他にもたくさんのケースがありますが、私はケースステートメントを理解しています。私は次のことを理解していません:

/ ^ QRX /はある種の正規表現か何かですか?そして、#{docName}は何をしますか?

4

1 に答える 1

6

はい、/^QRX/などは、に対して正規表現の一致をdocName実行し、一致する場合は、次のコードを実行します。

これ#{docName}は、rubyが文字列補間を処理する方法です。

docName = "foo"
puts "/TRPRR/#{docName}" # Outputs "/TRPRR/foo"
于 2012-05-08T21:47:44.843 に答える