class Object
Public Instance Methods
pv(&block)
click to toggle source
Print variable with variable name & variable value.
Usage¶ ↑
var = 1 var2, var_foo, v = 2, 3, 4 pv{:var} #=> var = 1 pv{%i(var2 var_foo v)} #=> var2 = 2 # var_foo = 3 # v = 4
# File lib/pv.rb, line 17 def pv(&block) ret = block.call symbols = if ret.is_a?(Symbol) [ret] elsif ret.is_a?(Array) and ret.all?{|x| x.is_a?(Symbol)} ret else raise "Given block must return Symbol or Array only includes Symbol" end varname_length = symbols.map{|symbol| symbol.to_s.length}.max symbols.each do |symbol| puts "#{symbol.to_s.ljust(varname_length)} = #{block.binding.eval(symbol.to_s)}" end ret end