<p>So I've got a Ruby method like this:</p>

<pre><code>def something(variable, &amp;block)
  ....
end
</code></pre>

<p>And I want to call it like this:</p>

<pre><code>something 'hello' { do_it }
</code></pre>

<p>Except that isn't working for me, I'm getting a syntax error. If I do this instead, it works:</p>

<pre><code>something 'hello' do
  do_it
end
</code></pre>

<p>Except there I'm kind of missing the nice look of it being on one line.</p>

<p>I can see why this is happening, as it could look like it's a hash being passed as a second variable, but without a comma in between the variables...but I assume that there must be a way to deal with this that I'm missing. Is there?</p>

If you want "def something" to to accept a block, you need to yield data to that block. For example:
```
```
#to uppercase string
def something(my_input)
 yield my_input.upcase
end

# => "HELLO WORLD"
something("hello world") { |i| puts i}
```
```