summaryrefslogtreecommitdiff
path: root/doc/syntax
diff options
context:
space:
mode:
Diffstat (limited to 'doc/syntax')
-rw-r--r--doc/syntax/literals.rdoc10
1 files changed, 10 insertions, 0 deletions
diff --git a/doc/syntax/literals.rdoc b/doc/syntax/literals.rdoc
index 0c1e4a434b..01df0c09b8 100644
--- a/doc/syntax/literals.rdoc
+++ b/doc/syntax/literals.rdoc
@@ -453,6 +453,8 @@ may use these paired delimiters:
* <tt><</tt> and <tt>></tt>.
* Any other character, as both beginning and ending delimiters.
+The first four pairs (brackets, parenthesis, braces, and angle brackets) can be nested.
+
These are demonstrated in the next section.
=== <tt>%q</tt>: Non-Interpolable String Literals
@@ -467,6 +469,10 @@ The created string is the same as if you created it with single quotes:
%|foo bar baz| # => "foo bar baz" # Using two |.
%:foo bar baz: # => "foo bar baz" # Using two :.
%q(1 + 1 is #{1 + 1}) # => "1 + 1 is \#{1 + 1}" # No interpolation.
+ %q[foo[bar]baz] # => "foo[bar]baz" # brackets can be nested.
+ %q(foo(bar)baz) # => "foo(bar)baz" # parenthesis can be nested.
+ %q{foo{bar}baz} # => "foo[bar]baz" # braces can be nested.
+ %q<foo<bar>baz> # => "foo[bar]baz" # angle brackets can be nested.
=== <tt>% and %Q</tt>: Interpolable String Literals
@@ -488,6 +494,10 @@ or <tt>%W</tt> (interpolable):
%w(#{1 + 1}) # => ["\#{1", "+", "1}"]
%W(#{1 + 1}) # => ["2"]
+ # The nested delimiters evaluated to a flat array of strings
+ # (not nested array).
+ %w[foo[bar baz]qux] # => ["foo[bar", "baz]qux"]
+
=== <tt>%i and %I</tt>: Symbol-Array Literals
You can write an array of symbols with <tt>%i</tt> (non-interpolable)