Skip to content

Commit

Permalink
long-due fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
sabelard committed Mar 29, 2013
1 parent 8560f2f commit a994291
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
42 changes: 42 additions & 0 deletions intro.txt
@@ -0,0 +1,42 @@
RUBY

Philosophie
- L'homme est le Maitre. La machine est l'esclave.
- POLS : Principle of Least Surprise

Syntaxe
- Code court, lisible, facile � �crire
- Pas de d�claration des variables
- Parenth�ses et points virgules optionnels

- Simple � prendre en main venant de :
Shell, PERL, Python, SmallTalk, Lisp, C, C++, Java...

Conventions
- CONSTANTE (ou Constante)
- Classe
- @@class_var, @property
- methode_question? methode_in_place!
- :symbole
- "chaine interpretee #{variable}"
- 'chaine sans interpretation #{variable}'
- def func(param_optionnel = default_value)
- op�rateurs
- modifieurs (condition postfixe)

POO
- Tout est objet. Classe de base : Object
- H�ritage simple
class MyString < String
- Modification dynamique du code
class String
def is_long? # j'ajoute une fonctionnalit�
self.length > 8
end
end

s = "longue" # je n'ai pas envie de toucher � la classe
def s.is_long?
true
end

10 changes: 9 additions & 1 deletion ruby_practice.rb
Expand Up @@ -49,17 +49,25 @@


# 5) structures simples et efficaces

classics = ["Java", "C"] # tableau
classics << "Lisp" # ajout

# accès par index
classics[1] # -> renvoie 'C'
classics[3] = 'Prolog'

classics += ["C++", "C#"] # addition de tableaux
classics.sort.join(", ")
# => "C, C#, C++, Java, Lisp"

scripts = ['ruby', 'python', 'perl', 'sh']
funcs = "Caml F# Haskell".split # un tableau à partir d'une string


hash = {"a" => 1, "b" => 2} # hash : tableau associatif
# accès clés-valeurs :
hash['a'] # -> renvoie 1
hash['c'] = 3

lang = { # clés de tout type / valeurs également
:script => scripts,
Expand Down

0 comments on commit a994291

Please sign in to comment.