Le Programme

Le programme est un objet global dans lequel vous pouvez définir des types, méthodes et des variables locales au fichier.

# Définit une méthode dans le programme
def add(x, y)
  x + y
end

# Invoque la méthode add dans le programme
add(1, 2) #=> 3

La valeur d'une méthode est la valeur de sa dernière expression, il n'y a pas besoin d'utiliser explicitement de return. Néanmoins, un return explicite est possible:

def even?(num)
  if num % 2 == 0
    return true
  end

  return false
end

A l'invocation d'une méthode sans objet destinataire, comme add(1, 2), elle sera recherchée dans le programme si elle ne peut être trouvée dans le type courant ni aucun de ses parents.

def add(x, y)
  x + y
end

class Foo
  def bar
    # invoque la méthode add du programme
    add(1, 2)

    # invoque la méthode baz de Foo
    baz(1, 2)
  end

  def baz(x, y)
    x * y
  end
end

Si vous voulez invoquer la méthode du programme, même si le type courant définit une méthode avec le même nom, préfixez l'appel avec un :::

def baz(x, y)
  x + y
end

class Foo
  def bar
    baz(4, 2) #=> 2
    ::baz(4, 2) #=> 6
  end

  def baz(x, y)
    x - y
  end
end

Les variables déclarées dans un programme ne sont pas accessibles depuis les méthodes:

x = 1

def add(y)
  x + y # error: undefined local variable or method 'x'
end

add(2)

Les parenthèses sont optionnelles dans les appels de méthode:

add 1, 2 # équivalent à add(1, 2)

Code principal

Le code principal, le code exécuté quand vous compilez et exécutez le programme, peut être écrit directement dans le fichier source sans avoir à l'inclure dans une méthode "main" spéciale:

# Un programme qui affiche "Hello Crystal!"
puts "Hello Crystal!"

Le code principal peut aussi être placé entre des déclarations:

# Un programme qui affiche "Hello Crystal!"
class Hello
  # 'self' ici est la classe Hello class
  puts self
end

results matching ""

    No results matching ""