Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

メタプログラミングRuby

メタプログラミングRuby | コード文字列

概要 コード文字列 内容 文字列のRubyコードを評価する。 脆弱性等気をつけなければならない点が多い反面、自由度の高いコーディングが可能。 最もシンプルな例 コード eval "puts 'hello world'" 出力 hello world

メタプログラミングRuby | 共有スコープ

概要 共有スコープ 内容 フラットスコープ内で複数のメソッドを定義することで 変数を共有出来る。 サンプル controller/application_controller.rb # encoding: utf-8 class Hoge hoge = 10 define_method :hage do hoge += 1 puts hoge end define_method …

メタプログラミングRuby | 文字列クラス

概要 文字列クラス 内容 クラス名文字列からクラスのインスタンスを取得します。 クラス名からクラスを取得する場合はObject.const_getを利用します。 サンプル # encoding: utf-8 class Hoge def hoge puts "hoge" end end hoge = Object.const_get("Hoge")…