Dans tous les scripts il y a une ligne en haut du document qui indique le type d'interpréteur qui doit être chargé au lancement du programme. Voici concernant Ruby :
#!/usr/bin/ruby -w
Avec le type d'encodage :
# -*- coding: utf-8 -*-
saisir = gets.chomp
puts "Voici une variable #{saisir}"
saisir = ARGV[0]
if ARGV.length > 0 then puts ARGV end
puts 1..10 puts 'a'..'z'
# Déclaration : tab = [0 , 2 , -5, 15] # Ajoute un élément en fin de tableau : tab << 3 # Afficher un élement du tableau : puts tab[2] #=> -5
# Faire la somme d'un tableau : puts [1,2,3,4].reduce(:+) # Faire la multiplication d'un tableau : puts [1,2,3,4].reduce(:*)
#tab = Hash.new() tab = {'phil' => 'dosch', 'mickey' = > 'mouse'} puts tab['phil'] # => dosh #tab = {:phil' => 'dosch', :mickey' = > 'mouse'} #puts tab[:phil] # => dosh #Ajout d'une valeur: tab[:nouveau]="ajout"
Ce sont des identificateurs correspondant à une chaine de caractère prédédé de “:”.
:toto :"variable"
La particularité de cette technique réside sur sa réservation de son espace mémoire. Celle-ci en occupe qu'une seule. (Une forme de pointeur).
a, b = 2, 7, 8, 1 #=> a = 2, b = 7 a, *b = 2, 7, 8, 1 #=> a = 2 , b = [7 , 8 , 1]
Dans certains cas, pas toutes les valeurs sont pris en compte.
x = true if x then puts "x est vraie ?" elsif x.is_s? then puts "x est chaine ?" else puts "x donc autre chose ?" end
unless a < 25 b = 0 else b = 1 end
option = 3 case option when 1.5 then puts "Mon chois s'est porté entre 1 et 5" when "erreur": puts "Mon choix s'est porté sur une erreur" when /p \ s +(\ w +) / puts "Mon choix s'est porté sur une regex" else puts "Il se peut que je n'ai pas apporté de choix en fait ?" end
while a > 5 puts a a -= 1 end
# Avec un tableau for i in ['hello', 'bonjour', 'guten tag'] puts i, " " end # Avec une intervalle for i in 1..500 puts i," " end # Avec Times : 5.times do |i| next if i == 1 puts i end 3.times { puts "hello" } 1.upto(3) { |x| puts "hello : #{x} " } do i in [1,3,5,7,9] puts i end [1,3,5,7,9].each { [i| puts i }
def ma_fonction(arg, *tab) puts arg puts tab end ma_fonction(1) #> 1 #> [] ma_fonction(1,2,3,4) #> 1 #> [2,3,4]
1.eql?(1.0) #=> true ?
chaine.equal?"une phrase"
defined?chaine #=> nil ou local-variable