エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rubyでnewに渡ってきたパラメータ引数のaccessorを自動で作る - $shibayu36->blog;
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyでnewに渡ってきたパラメータ引数のaccessorを自動で作る - $shibayu36->blog;
GitHub Copilotに補完されて面白いなと思ったのでメモ。たとえばLTSVのログを格納する構造を作るときに... GitHub Copilotに補完されて面白いなと思ったのでメモ。たとえばLTSVのログを格納する構造を作るときに、渡ってきたパラメータ引数名を使ってアクセサを作りたいとする。以下のようなコードで実現が可能。 class Log # パラメータ引数をハッシュで受け取って def initialize(**fields) fields.each do |key, value| # インスタンス変数を作りつつ instance_variable_set("@#{key}", value) # attr_readerで動的に定義 self.class.send(:attr_reader, key) end end end これを使うと、勝手にアクセサが生えてくる。 log = Log.new( user: 'frank', status: '200', size: '2326', ) p(log