Tbpgr Blog

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

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

概要

共有スコープ

内容

フラットスコープ内で複数メソッドを定義することで
変数を共有出来る。

サンプル

controller/application_controller.rb
# encoding: utf-8

class Hoge
  hoge = 10

  define_method :hage do
    hoge += 1
    puts hoge
  end

  define_method :hige do
    hoge += 1
    puts hoge
  end
end

hoge = Hoge.new
hoge.hage
hoge.hige
hoge.hige
hoge.hage

出力

11
12
13
14