def recHoge2(term,arg...)
 dobefore(arg...)
 if term
  recHoge2(term,arg...)
 end
 doafter(arg...)
end

で、こんだけで済むのに、
ループにしたいからって
スタックのユーザー定義なんて馬鹿だろう