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割 (´・ω・)