Ruby, for scripting a Web service

The language was locally used before the rails framework appears in 2004 and shares its success with the language itself. This is an alternative to Ajax, easier and more complete written in Ruby.

Ruby programming language

It has been designed by Yukihiro "Matz" Matsumoto from 1993 to 1995 (he is employee of Heroku in 2012). The goal was to program in human style rather than adapting its mind to the computer structure. This was firmed up by applying a principle of least surprise that means that the language syntax is always as the programmer does expect it is. But there is also a lot of conventional rules to simplify the programming: only a way to do a thing (unlike Perl).
It is interpreted (uses bytecode), fully object-oriented and dynamically typed. Has been inspired by Perl, Smalltalk and Python.

Features of the language

Syntax:

Capitalized or uppercase identifiers are constants. Floating point numbers are denoted by a dot followed by a number or zéro.
Variables:
- global variables start with $
- attributes in classes start with @
- local variables are simple identifiers.

Symbols:

# starts a comment.
[ exp, ... ] enclose arrays.
{ 1 => a, ... } is for a dictionary.

Control structures:

The if structure has elsif and else options.

 if x < 10 then
   print "x less than 10\n"
 else
   print "etc...\n"
 end
    
The while structure:
 while expr [do]
    ... 
 end 
         

Function or method:

The definition starts with the def keyword, plus the name and the list or arguments separated by commas, then the statements and is terminated by the end keyword.
The return keyword in the body of the definition allows to return one or several values.

def funcname( arguments )
...statements... return x, y, z
end

Class:

  class name
    ...
  end

Sample code, Hello world:

do puts "Hello, World!" end  

Scanning the content of an array:

mylist = [ "d", "e", "m", "o" ] 

for i in mylist do
  print i, "\n"
end

Tools and documentation

References: The Ruby reference manual.