ikuma-t.

検索

WEBRickのqueryをパターンマッチで取り出す

に公開

WEBRickではリクエストのクエリをreq.queryで取得できます。

WEBrick::HTTPRequest#query (Ruby 3.2 リファレンスマニュアル)🔗

この戻り値はHashなので、例えばhogeを取得するのであればreq.query['hoge']のようにすれば値を取得できます。できますが、せっかくなのでパターンマッチで取得します。

  1. req.query.transform_keys(&:to_sym): req.queryのHashのキーはStringなので、パターンマッチで取得するためにSymbolに変換します。
  2. req.query.transform_keys(&:to_sym) in :hoge: パターンマッチでhogeを取り出します。ローカル変数hogeにreq.query[“hoge”]の値が格納されます。

気がついたらパターンマッチのカッコは省略可能1になっていたので、変数1,2個取り出すくらいならガンガンに省略していきたいですね。

Footnotes

  1. Ruby3.1からだったみたい。知らなかった。

ikuma-t

ikuma-t

ABOUT

9割笑顔、1割 (´・ω・) なエンジニア