what happens when \*args passed to yield in ruby, in capture\_helper.rb of rails I saw a statement where \*args is passed to yield statement, what actually happens when we do so.

```
 buffer = with_output_buffer { value = yield(*args) }

```

where first parameter is builder object and second parameter is the block passed