無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

呼び出しもとの関数名を取得する

組み込み関数「caller」の結果を解析すれば可能です。

# 呼び出しもとの関数名を取得する関数
def function_name
  # 正規表現は、Rubyのリファレンスのものを拝借してます。
  if /^(.+?):(\d+)(?::in `(.*)')?/ =~ caller.first
    return $3
  end
end

# テスト用クラス。
class Test
  def foo
    function_name
  end
end

puts Test.new.foo
puts function_name

実行結果です。

foo
nil

ちなみにJavaだとこんな感じでできます。