Définition Wikipédia : un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire et de significations
Créé en 1995 (20 ans déjà !) par Yukihiro "Matz" Matsumoto, ce dernier a mélangé ses langages de programmation préférés pour faire de ruby un langage 'le plus naturel' possible.
Pourquoi Ruby ?
- Langage concis et élégant
- Une communauté active, engagée et open-source
- C'est le langage de Ruby on Rails
Pour en savoir plus, l'explication de ruby
Pour faire tourner votre code Ruby, nous allons utiliser une console pour l'interpréter:
= texte.
On le met entre guillemets pour que l'ordinateur sache quand il commence et finit.
Dans votre console :
'Hello, world!'
'Hello, world!'.upcase
= nombre entier.
Dans votre console :
2 + 3
16.even?
16.odd?
= vrai ou faux.
Permet d'introduire de la logique.
Dans votre console :
11 > 10
11 == 10
= tableau.
Sorte de classeur qui va contenir plusieurs éléments de différents types.
Dans votre console :
['John', 3, 'Hello, world!'].size
[5, 1, 3].sort
Sorte de boîte dans laquelle on va conserver des informations.
age = 32
"I am #{age} old"
age = age + 1
"I am #{age} old"
> à la sauvegarde des changements appliqués sur une variable
> une variable commence par une minuscule. Et généralement, on l'écrit en minuscule, séparée par un underscore. Ex : variable_name
!
spice_girls = [
'victoria',
'mel b',
'mel c',
'emma',
'geri'
]
spice_girls[0]
spice_girls[-1]
spice_girls.first
spice_girls << 'Sylvain'
Réutiliser le code
def hello
puts 'hello, world'
end
hello
def hello(name)
puts "hello #{name.capitalize}"
end
hello('agathe')
hello('lisa')
Itérons !
spice_girls = ['victoria', 'mel b', 'mel c', 'emma', 'geri']
spice_girls.each do |girl|
puts "#{girl.capitalize} is part of Spice Girls' girl band"
end
Regrouper des caractéristiques communes
class Car
def initialize(model, color)
@model = model
@color = color
end
def start
puts "The #{@color} #{@model} starts"
end
def stop
puts "The #{@color} #{@model} stops"
end
end
Direction l'exercice !