В тази тема предлагам да разгледаме синтаксиса на езика. Нека започнем с най-простото. Как да си напишен функция, изчисляваща факториел. Математическата дефиниция на факториел е: 
n! = 1                (когато n==0)
   = n * (n-1)!       (в друг случаи)
В Ruby това може да бъде написано така: 
def fact(n)
  if n == 0
    1
  else
    n * fact(n-1)
  end
end
 Най-забележителното в случая е липсата на return. Това е така защото 
Ruby функциите връщат последното нещо, което е изчислено в тях. Използването на return е позволено но излишно в случая. Може да изпробваме функцията  fact.
# Програма за намиране на факториел на число
#  Файла може да бъде записан като fact.rb
def fact(n)
  if n == 0
    1
  else
    n * fact(n-1)
  end
end
print fact(ARGV[0].to_i), "\n"
Тук ARGV е масив, който съдържа аргументите подавани от 
командния ред и  to_i превръща низовия символ в integer.
 Ако я извикаме от командния ред със 
 ruby fact.rb 1 Ще ни върне 1. Ако пък я извикаме със 
 5, тоест ruby fact.rb 5 ще ни върне 120.
От неизбежното се възмущава само този, който е неразумен.
Редактирано от Учeщ на 26.07.08 00:46.