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

Add Defaulting To Frozen String Literals as a ruby til

This commit is contained in:
jbranchaud
2016-01-26 10:22:18 -06:00
parent 5393ee7da7
commit e122eddf86
2 changed files with 20 additions and 0 deletions

View File

@@ -209,6 +209,7 @@ _305 TILs and counting..._
- [Comparing Arrays In RSpec](ruby/comparing-arrays-in-rspec.md) - [Comparing Arrays In RSpec](ruby/comparing-arrays-in-rspec.md)
- [Construct A Constant From A String](ruby/construct-a-constant-from-a-string.md) - [Construct A Constant From A String](ruby/construct-a-constant-from-a-string.md)
- [Create an Array of Stringed Numbers](ruby/create-an-array-of-stringed-numbers.md) - [Create an Array of Stringed Numbers](ruby/create-an-array-of-stringed-numbers.md)
- [Defaulting To Frozen String Literals](ruby/defaulting-to-frozen-string-literals.md)
- [Destructuring Arrays In Blocks](ruby/destructuring-arrays-in-blocks.md) - [Destructuring Arrays In Blocks](ruby/destructuring-arrays-in-blocks.md)
- [Disassemble Some Codes](ruby/disassemble-some-codes.md) - [Disassemble Some Codes](ruby/disassemble-some-codes.md)
- [Double Splat To Merge Hashes](ruby/double-splat-to-merge-hashes.md) - [Double Splat To Merge Hashes](ruby/double-splat-to-merge-hashes.md)

View File

@@ -0,0 +1,19 @@
# Defaulting To Frozen String Literals
> The cold never bothered me anyway.
The release of Ruby 2.2 introduced the ability to freeze string literals,
making them immutable. With the release of Ruby 2.3, strings can be frozen
by default without the use of `#freeze`. By adding the following magic
comment at the top of a file
```ruby
# frozen_string_literal: true
```
all string literals will default to frozen. That means that all string
literals in that file are immutable, cannot be modified. This gives the Ruby
interpreter some performance gains due to reduced object allocation.
This is the [issue](https://bugs.ruby-lang.org/issues/11473) that introduced
it.