mirror of
https://github.com/jbranchaud/til
synced 2026-01-02 22:58:01 +00:00
Add Defaulting To Frozen String Literals as a ruby til
This commit is contained in:
@@ -209,6 +209,7 @@ _305 TILs and counting..._
|
||||
- [Comparing Arrays In RSpec](ruby/comparing-arrays-in-rspec.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)
|
||||
- [Defaulting To Frozen String Literals](ruby/defaulting-to-frozen-string-literals.md)
|
||||
- [Destructuring Arrays In Blocks](ruby/destructuring-arrays-in-blocks.md)
|
||||
- [Disassemble Some Codes](ruby/disassemble-some-codes.md)
|
||||
- [Double Splat To Merge Hashes](ruby/double-splat-to-merge-hashes.md)
|
||||
|
||||
19
ruby/defaulting-to-frozen-string-literals.md
Normal file
19
ruby/defaulting-to-frozen-string-literals.md
Normal 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.
|
||||
Reference in New Issue
Block a user