global

def while_loop(content, times)

def while_loop(content, times)
  if !times.is_a?(Integer) || times <= 0
    raise ArgumentError.new("Unexpected times: #{times.inspect}")
  elsif times == 1
    return content
  end
  # TODO: execute in batch
  <<-RUBY
dv_i = 0
e __bmdv_i < #{times}
content}
bmdv_i += 1
  RUBY
end