class Sass::Tree::Visitors::Perform

def visit_each(node)

Runs the child nodes once for each value in the list.
def visit_each(node)
  list = node.list.perform(@environment)
  with_environment Sass::SemiGlobalEnvironment.new(@environment) do
    list.to_a.map do |value|
      if node.vars.length == 1
        @environment.set_local_var(node.vars.first, value)
      else
        node.vars.zip(value.to_a) do |(var, sub_value)|
          @environment.set_local_var(var, sub_value || Sass::Script::Value::Null.new)
        end
      end
      node.children.map {|c| visit(c)}
    end.flatten
  end
end