# File bin/el4r-instance, line 360 def let(*name_and_value_list, &block) (name_and_value_list.size % 2) == 0 or raise(ArgumentError, "Invalid count of arguments.") letexpr = "(let (" until name_and_value_list.empty? name = El4r.name_rb2el(name_and_value_list.shift.to_s) value = el4r_ruby2lisp(name_and_value_list.shift) letexpr << "(#{name} #{value}) " end letexpr << ") (funcall #{el4r_rubyproc_to_lambda(&block)}))" el4r_lisp_eval(letexpr) end