Fat comma


Fat comma refers to the "=>" operator present in some programming languages. It is primarily associated with PHP, Ruby and Perl programming languages, which use it to declare hashes. Using a fat comma to bind key-value pairs in a hash, instead of using a comma, is considered an example of good idiomatic Perl. In CoffeeScript and TypeScript, the fat comma is used to declare a function that is bound to this.

  1. a typical, idiomatic use of the fat comma in Perl
my %hash = ;

Subtleties

Perl

The "fat comma" forces the word to its left to be interpreted as a string.
Thus, where this would produce a run-time error under strict :

%bad_example = ;

the following use of the fat comma would be legal and idiomatic:

%good_example = ;

This is because the token converted_to_string would be converted to the string literal "converted_to_string" which is a legal argument in a hash key assignment.
The result is easier-to-read code, with a stronger emphasis on the name-value pairing of associative arrays.

PHP

In PHP, the fat comma is termed a double arrow, and is used to specify key/value relationships when declaring an array. Unlike in Perl, the double arrow does not treat what comes before it as a bare word, but rather evaluates it. Hence, constants used with the double arrow will be evaluated:

$array = array;

Ruby

In Ruby, the fat comma is the token to create hashes. Ruby 1.9 introduced a special syntax to use symbols as barewords. In Ruby, the fat comma is called a hash rocket.

  1. Old syntax
old_hash =
  1. New syntax
new_hash =

Use as lambda functions

The fat arrow is used to declare single expression anonymous functions in JavaScript, and C sharp.