They're extraordinarily useful for escaping HTML with JavaScript in it where you've already "run out" of quoting methods:
link = %q[<a href="javascript:method('call')">link</a>]
I've also found them to be very useful when working with multi-line SQL statements:
execute(%Q[
INSERT INTO table_a (column_a)
SELECT value
FROM table_b
WHERE key='value'
])
The advantage there is you don't need to pay attention to the type of quoting used within your query. It will work with either single, double, or both. They're also a lot less fuss than the HEREDOC style method.
Ruby provides other convenience methods like this such as %r
which can construct regular expressions. That avoids slash-itis when trying to write one that handles stuff like http://
that would otherwise have to be escaped.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…