web-dev-qa-db-fra.com

Ruby - imprime le nom de la variable puis sa valeur

Quelle est la meilleure façon d'écrire une fonction (ou quelque chose DSLish) qui me permettra d'écrire ce code en Ruby. Comment pourrais-je construire la fonction write_pair?

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

Est-il possible de faire? Vous cherchez le moyen le plus simple de le faire.

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