diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | doc/syntax/literals.rdoc | 17 |
2 files changed, 21 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Wed Sep 16 13:23:48 2015 NAKAMURA Usaku <usa@ruby-lang.org> + + * doc/syntax/literals.rdoc (Strings): mention about ?a literal. + Wed Sep 16 12:06:53 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> * dir.c (glob_helper): check pathtype once again by lstat(2) if diff --git a/doc/syntax/literals.rdoc b/doc/syntax/literals.rdoc index ec37fe3c6d..2dac68b77a 100644 --- a/doc/syntax/literals.rdoc +++ b/doc/syntax/literals.rdoc @@ -124,6 +124,23 @@ be concatenated as long as a percent-string is not last. %q{a} 'b' "c" #=> "abc" "a" 'b' %q{c} #=> NameError: uninitialized constant q +One more way of writing strings is using <tt>?</tt>: + + ?a #=> "a" + +Basically only one character can be placed after <tt>?</tt>: + + ?abc #=> SyntaxError + +Exceptionally, <tt>\C-</tt>, <tt>\M-</tt> and their combination are allowed +before a character. They means "control", "meta" and "control-meta" +respectively: + + ?\C-a #=> "\x01" + ?\M-a #=> "\xE1" + ?\M-\C-a #=> "\x81" + ?\C-\A-a #=> "\x81", same as above + === Here Documents If you are writing a large block of text you may use a "here document" or |