Search code examples
rubysyntaxhashhashrocket

What's the difference between colon ":" and fat arrow "=>"


What's the difference between colon : and fat arrow => in Ruby? Or when to use what?

:foo => true
foo: true

Solution

  • The syntax is for defining Hash key/value pairs, and the difference depends on the Ruby version.

    Supported in both Ruby 1.8 and Ruby 1.9

    :foo => true
    

    Supported only in Ruby 1.9

    foo: true
    

    If you're developing in Ruby 1.9 you should probably use the syntax:

    foo: true
    

    as it appears to be the direction the community is moving in.