いや、() の有無なんて関係ない
要望は「改行を挟んだ2つの文字リテラルは連結されて解釈されて欲しい」ということだろ
そもそもの前提だって
「空白を挟んだ(あるいは挟まない)2つの文字リテラルは連結されて解釈される」
ということだ

irb> 'a' 'b'
"ab"
irb> 'a''b'
"ab"
irb> eval("'a'\t'b'")
"ab"

あと、その gethoge の () は2つの式がグルーピングされてるだけだ
機械的に最後の式の 'hoge' が評価されてるだけに過ぎない

def gethoge
@str = ('foo'; 'hoge')
end

と全く同じこと