web-dev-qa-db-ja.com

Ruby-変数名とその値を出力します

Rubyでこのコードを記述できるようにする関数(またはDSL風)を記述する最良の方法は何ですか。関数write_pairをどのように構築しますか?

username = "tyndall"
write_pair username
# where write_pair username outputs 
username: tyndall

できますか?これを行う最も簡単な方法を探しています。

27
BuddyJoe
# make use of dynamic scoping via methods and instance vars
@_binding = binding
def eval_debug(expr, binding = @_binding)
   "#{expr} => #{eval(expr, binding)}"
end

# sample invocation:
x = 10
puts eval_debug "x"
puts eval_debug "x**x"
0
balrog