# Use of %() for Strings

**URL:** <https://www.ruby-forum.com/t/use-of-for-strings/68642>\
**Category:** Rails\
**Created:** [September 14, 2006, 3:50am UTC](https://www.ruby-forum.com/t/use-of-for-strings/68642 "2006-09-14T03:50:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![daveb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5a626/32.png) [@daveb](https://www.ruby-forum.com/u/daveb)\
**Post date:** [September 14, 2006, 3:50am UTC](https://www.ruby-forum.com/t/use-of-for-strings/68642/1 "2006-09-14T03:50:58Z")

</div>

I notice a lot of code throughout Rails uses this approach to build up  
a String:

a = %(This is line one)  
a \<\< %(This is line two)  
a

After looking through two books I can’t seem to find a description of  
what exactly %() does. Can anyone tell me what the benefits of using  
%() is?

Thanks,  
Dave

---

<div class="post-metadata">

**Author:** ![daveb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5a626/32.png) [@daveb](https://www.ruby-forum.com/u/daveb)\
**Post date:** [September 14, 2006, 4:06am UTC](https://www.ruby-forum.com/t/use-of-for-strings/68642/2 "2006-09-14T04:06:59Z")

</div>

On Sep 13, 2006, at 8:46 PM, daveb wrote:

> %() is?  
> The main advantage of %() is it ignores balanced parentheses inside  
> the string. That makes it handy for quoting code.

Like:

code = %( foo(bar(3)) )

---

<div class="post-metadata">

**Author:** ![daveb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5a626/32.png) [@daveb](https://www.ruby-forum.com/u/daveb)\
**Post date:** [September 14, 2006, 4:53am UTC](https://www.ruby-forum.com/t/use-of-for-strings/68642/3 "2006-09-14T04:53:10Z")

</div>

using %{} or %() also saves you from escaping embedded quotes in a  
string, such as:

```
ActiveRecord::Base.connection.execute(%{select id,admin_comments

```

into outfile “#{file\_name}.txt” fields terminated by “,” enclosed by  
“”"" from users where admin\_comments!="";})
