Meaning of #{ } in Ruby?

Why This Is a Good Question

This is a tough question to Google for unless you know the right search terms. The #{} operator technically performs expression substitution inside a string literal.

The Answer

The #{} literal is the operator used for interpolation inside double-quoted strings the same way that the backticks or $() construct would be used in Bash. From a practical point of view, the expression inside the literal is evaluated, and then the entire #{} expression (including both the operator and the expression it contains) is replaced in situ with the result.

Related Links

  • http://www.ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/syntax.html#string
  • http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html
  • http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals#Interpolation
  • Ruby (on Rails) syntax

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)