mirror of
https://github.com/jbranchaud/til
synced 2026-01-07 00:58:02 +00:00
Add Percent Notation as a ruby til.
This commit is contained in:
@@ -98,6 +98,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
|
|||||||
- [Limit Split](ruby/limit-split.md)
|
- [Limit Split](ruby/limit-split.md)
|
||||||
- [Override The Initial Sequence Value](ruby/override-the-initial-sequence-value.md)
|
- [Override The Initial Sequence Value](ruby/override-the-initial-sequence-value.md)
|
||||||
- [Parallel Bundle Install](ruby/parallel-bundle-install.md)
|
- [Parallel Bundle Install](ruby/parallel-bundle-install.md)
|
||||||
|
- [Percent Notation](ruby/percent-notation.md)
|
||||||
- [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md)
|
- [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md)
|
||||||
- [Summing Collections](ruby/summing-collections.md)
|
- [Summing Collections](ruby/summing-collections.md)
|
||||||
|
|
||||||
|
|||||||
33
ruby/percent-notation.md
Normal file
33
ruby/percent-notation.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Percent Notation
|
||||||
|
|
||||||
|
Ruby has many uses for the `%` character. One of the more obscure uses is as
|
||||||
|
a notion for custom delimited strings. Use the percent notation with a
|
||||||
|
non-alphanumeric character to surround a string.
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
> %=Jurassic Park=
|
||||||
|
=> "Jurassic Park"
|
||||||
|
> % Ghostbusters
|
||||||
|
=> "Ghostbusters"
|
||||||
|
```
|
||||||
|
|
||||||
|
It even works with balanced characters
|
||||||
|
|
||||||
|
> %(The Goonies)
|
||||||
|
=> "The Goonies"
|
||||||
|
|
||||||
|
This is useful for defining a string that has both types of quotes
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
> %[That'll be the "day"]
|
||||||
|
=> "That'll be the \"day\""
|
||||||
|
```
|
||||||
|
|
||||||
|
It's also useful for creating horribly obfuscated code
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
> %=what===%?what?
|
||||||
|
=> true
|
||||||
|
```
|
||||||
|
|
||||||
|
h/t [Josh Davey](https://twitter.com/joshuadavey/status/615613617099046912)
|
||||||
Reference in New Issue
Block a user