Skip to content

Instantly share code, notes, and snippets.

@kyrylo
Created July 3, 2013 13:30
Show Gist options
  • Select an option

  • Save kyrylo/5917857 to your computer and use it in GitHub Desktop.

Select an option

Save kyrylo/5917857 to your computer and use it in GitHub Desktop.
Ruby for entertainment #2
puts "#{ RUBY_VERSION } #{ RUBY_PATCHLEVEL }" #=> "1.8.7 370"
nil.frozen? #=> false
nil.freeze
nil.frozen? #=> false
69.frozen? #=> false
69.freeze
69.frozen? #=> false
6.9.frozen? #=> false
6.9.freeze
6.9.frozen? #=> false
:snow.frozen? #=> false
:snow.freeze
:snow.frozen? #=> false
puts "#{ RUBY_VERSION } #{ RUBY_PATCHLEVEL }" => "1.9.3 392"
nil.frozen? #=> false
nil.freeze #=> nil
nil.frozen? #=> true
69.frozen? #=> false
69.freeze
69.frozen? #=> true
6.9.frozen? #=> false
6.9.freeze
6.9.frozen? #=> false
:snow.frozen? #=> false
:snow.freeze
:snow.frozen? #=> true
puts "#{ RUBY_VERSION } #{ RUBY_PATCHLEVEL }" => "2.0.0 0"
nil.frozen? #=> false
nil.freeze #=> nil
nil.frozen? #=> true
69.frozen? #=> true
6.9.frozen? #=> true
:snow.frozen? #=> false
:snow.freeze
:snow.frozen? #=> true
@haileys

haileys commented Jul 3, 2013

Copy link
Copy Markdown

The difference between 1.9.3 and 2.0.0 is that on 64 bit platforms 2.0.0 uses flonums, which means Floats are immediate values just like nil, true, false, Fixnums, Symbols, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment