1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 15:18:01 +00:00

Add String Interpolation With Instance Variables as a ruby til

This commit is contained in:
jbranchaud
2016-06-03 11:13:31 -05:00
parent 0ee07e9c99
commit b50ddc0c92
2 changed files with 33 additions and 1 deletions

View File

@@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really
warrant a full blog post. These are mostly things I learn by pairing with
smart people at [Hashrocket](http://hashrocket.com/).
_427 TILs and counting..._
_428 TILs and counting..._
---
@@ -333,6 +333,7 @@ _427 TILs and counting..._
- [Set RVM Default Ruby](ruby/set-rvm-default-ruby.md)
- [Show Public Methods With Pry](ruby/show-public-methods-with-pry.md)
- [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md)
- [String Interpolation With Instance Variables](ruby/string-interpolation-with-instance-variables.md)
- [Summing Collections](ruby/summing-collections.md)
- [Uncaught Exceptions In Pry](ruby/uncaught-exceptions-in-pry.md)
- [`undef_method` And The Inheritance Hierarchy](ruby/undef-method-and-the-inheritance-hierarchy.md)

View File

@@ -0,0 +1,31 @@
# String Interpolation With Instance Variables
When using regular variables with string interpolation in Ruby, they must be
wrapped in curly braces (e.g. `"This is a #{variable}"`). With instance
variables (and class and global variables) you can just use the _octothorp_
followed directly by the variable.
Here is an example of this in action:
```ruby
class Person
def initialize(name)
@name = name
end
def whoami
puts "I am #@name"
end
end
bob = Person.new("bob")
#=> #<Person:0x007fdaf3291618 @name="bob">
bob.whoami
# I am bob
```
This is a handy shortcut, but may affect readability and/or result in an
interpolation error at some point. Your mileage may vary.
h/t Josh Davey