VOIR AUSSI -> MEMO RAILS
VOIR AUSSI -> MEMOTP-BLOG
VOIR AUSSI -> NOTIONS BASIQUES à propos des RESEAUX, SERVEUR, RASP.∏
# Commentaire
/**/ Commentaires
a = 1
b = 2
c = 3
d = a + b // retourne 3
e = d * 3 // retourne 9
c.eql? d //"est ce que c est équivalent à d? --> retourne True
phrase = "c'est la lutte finale…"
uneAutrePhrase =
"d est égale à #{d}" //acceder à une variable dans une String
debutPhrase = "Coucou, " << "ça va?" //retourne "Coucou, ça va?"
puts "Je veux etre calife à la place du calife" * 3 // retourne 3 fois la phrase
deuxMots = "ma bite"
deuxMots[0,2] //retourne "ma"
deuxMots[0..2] //retourne "ma "
deuxMots[-4..-1] // retourne "bite"
Regex (regular Expression)
.scan(//) # \w +
$variableGlobale //variable accessible à tous
puts //retourne une variable ou le contenu d'un objet puis retour à la ligne
print //retourne un résultat sans espace ou saut de ligne
gets // entrée clavier
def hypotenuse(premierCote, secondCote)
return Math.sqrt(premierCote * premierCote + secondCote * secondCote)
end
puts hypotenuse(2, 6)
.reverse //inverse l'ordre du contenu d'un tableau
.size //retourne la taille d'un tableau
.class //retourne le type de l'objet (Fixnum (int), float, String…)
200.13.kind_of? Float // retourne True
13.kind.of? Integer // Retourne True
monTableau = [10, 20, 30] // écriture contenu
monTableau[0] // retourne 10
monTableau << 40 //ajoute 40 au tableau
monHash = {cle: "usb", trousseau:"Vin du Jura"} //création d'un tableau de hashage
monHash[:cle] // on accede à la valeur d'un variable contenue dans le tableau, ici "usb" via "cle"
monHash[:insulte] = "Ptitcon" //ajoute du contenu au tableau. La clé est "insulte" est son contenu "Ptitcon"
On peut également faire des tableaux de hashes
recettes = [
{ingredients: "farine, blé",
cuisson: "30"},
{ingredients: "huile, crevettes",
cuisson: "10"} ]
bieresDansLeFrigo = ["1664", "Heineken", "Chouffe", "Rochefort10", "Lupulus"] //création d'un tableau avec du contenu de type String
bieresDansLeFirgo.each do |biere|
puts biere
end
//affiche 24 fois "Nous sommes toujours au jour de ce jour"
24.times do
puts "Nous sommes toujours au jour de ce jour"
end
//ajouter puis acceder à une variable-courante "i" avec #{}
//ci-dessous, "+1" à la variable i car compteur commence à zéro
12.times do |i|
puts "Je t'ai dit #{i + 1} fois Bonjour aujourd'hui"
end
if (a > 0)
puts "a est supérieur à 0 car a est égale à #{a}"
else
puts "a est inférieur à 0, car a est égale à #{a}"
end
if (a == kingfullcerbere.size)
puts "a est aussi grand que la taille de mon tableau nommé kingfullcerbere"
else
puts "a n'est pas aussi grand que la taille de mon tableau"
end
EXERCICE synthèse:
-créer un tableau contenant différentes variable de type numérique
-parcourir ce tableau avec une boucle
-n'afficher que les nombres impairs avec % à l'interieur de cette phrase "x est un chiffre impair"
réponse:
exercice = [ 1, 2, 3, 4, 5, 6]
exercice.each do |i|
if i % 2 == 1
puts "#{i} est un chiffre impair"
else
puts "Pair"
end
end
class Animal
end
chien = Animal.new
puts chien.class // retourne Animal
class Animal
attr_accessor :race, :prenom
end
chien = Animal.new
chien.race = "labrador"
chien.prenom = "Jack"
class Animal
attr_accessor :race, :prenom
def identite
puts "cet animal est un " + race + " et il s'appelle " + prenom
end
end
class Animal
attr_accessor :race, :prenom, :animal
def identite
puts "cet animal est un " + race + " et il s'appelle " + prenom
end
def parle(genre, fois)
if genre == "chien"
fois.times do
puts "ouaf!"
end
end
end
end
chien = Animal.new
chien.race = "Labrador"
chien.prenom = "Michel"
chien.animal = "chien"
puts chien.race + " " + chien.prenom
puts chien.identite
chien.parle("chien", 4)
class Humain
attr_accessor :prenom, :nom, :age
def initialize(donnageDePrenom)
@prenom = donnageDePrenom
end
end
jacky = Humain.new("Jacky")
puts jacky.prenom //afficher la propriété "prénom"
class Humain
attr_accessor :prenom, :nom
def initialize(donnageDePrenom)
@prenom = donnageDePrenom
end
def parler(redondance)
redondance.times do
puts "blabla"
end
end
def manger
puts "miam miam"
end
end
class Footballeur < Humain
def tirer
puts "Yaaaa! But....?"
end
end
class Musicien < Humain
def jouer(instrument)
puts "je suis un bosse avec mon #{instrument}"
end
end
jacky = Humain.new("Jacky")
jacky.parler(3)
jacky.manger
henri = Musicien.new("Henri")
henri.jouer("saxophone")
emma = Footballeur.new("Emmanuelle")
emma.manger
emma.tirer
class Humain
attr_accessor :prenom, :nom, :stylesJoues
def initialize(donnageDePrenom)
@prenom = donnageDePrenom
end
end
class Musicien < Humain
def joueDu(instrument)
puts "je joue du #{instrument} comme un demi-dieu indien"
end
end
class Repertoire
attr_accessor :genre, :artiste
def initialize(style, nomArtiste)
@genre = style
@artiste = nomArtiste
end
end
francis = Musicien.new("Francis")
francis.joueDu("saxophone")
classique = Repertoire.new("classique", "Mozart")
rock = Repertoire.new("rock", "Pink Floyd")
francis.stylesJoues = [classique, rock]
francis.stylesJoues.each do |s|
puts francis.prenom + " joue du " + s.genre
end
EXEMPLE COMPOSITION
class Admin
attr_accessor :login, :mdp, :articles
def initialize(nom)
@login = nom
puts "#{@login} s'est connecté"
end
def poste
end
end
class Article
attr_accessor :titre, :date, :contenu, :auteur
def initialize(nomPost)
@titre = nomPost
end
def afficherContenu
puts "Blablablablablablablablabla"
end
end
#Objet article, issu de la classe Artcle
premierArticle = Article.new("Bienvenu Sur mon Blog!")
#Objet directeur, utilisateur pouvant poster Article
directeur = Admin.new("Eudes-Patron")
#l'objet directeur peut avoir des objets aarticles
directeur.articles = [premierArticle]
#On parcourt l'ensemble du contenu des articles détenus par le directeur
directeur.articles.each do |i|
puts "les articles écrits par " + directeur.login + " sont : " + i.titre
puts "\n\n"
puts i.afficherContenu
end
Ref: Les inconnus, Schrek, Izongood, Calife, Astérix, Lutte des Classes, (commentaire: faire référence au théatre)
tk toolkit