Where is Ruby's string literal juxtaposition feature officially documented?

后端 未结 4 1637
小鲜肉
小鲜肉 2020-11-28 14:52

I recently realized that if you juxtapose a sequence of Ruby string literals (e.g. \'a\' \"b\" \'c\'), it\'s equivalent to the concatenation of those string lit

4条回答
  •  孤街浪徒
    2020-11-28 15:05

    UPDATE

    This is now officially documented in the RDoc that ships with Ruby.

    Changes will propagate to RubyDoc the next time they build the documentation.

    The added documentation:

    Adjacent string literals are automatically concatenated by the interpreter:
    
      "con" "cat" "en" "at" "ion" #=> "concatenation"
      "This string contains "\
      "no newlines."              #=> "This string contains no newlines."
    
    Any combination of adjacent single-quote, double-quote, percent strings will
    be concatenated as long as a percent-string is not last.
    
      %q{a} 'b' "c" #=> "abc"
      "a" 'b' %q{c} #=> NameError: uninitialized constant q
    

    ORIGINAL

    Right now, this isn't anywhere in the official ruby documentation, but I think it should be. As pointed out in a comment, the logical place for the docs to go would be: http://www.ruby-doc.org/core-2.0/doc/syntax/literals_rdoc.html#label-Strings

    I've opened a pull request on ruby/ruby with the documentation added.

    If this pull request is merged, it will automatically update http://www.ruby-doc.org. I'll update this post if/when that happens. ^_^

    The only other mentions of this I've found online are:

    • The Ruby Programming Language, page 47 (mentioned in another answer)
    • Ruby Forum Post circa 2008
    • Programming Ruby

提交回复
热议问题