Ruby

Les bases du golfing en Ruby

Envie de vous lancer dans le golfing?

Sébastien Faure
Sébastien Faure

except / slice

Des clés à gérer? 🔑

Alexandre Borderes
Alexandre Borderes

Date.parse

Le siècle actuel par défaut 🤯

Alexandre Borderes
Alexandre Borderes

compact

Filtrer les valeurs nil

Alexandre Borderes
Alexandre Borderes

lazy

Faites une pause!

Alexandre Borderes
Alexandre Borderes

do...while

La boucle do...while en Ruby existe

Alexandre Borderes
Alexandre Borderes

_

Underscore

Alexandre Borderes
Alexandre Borderes

Rightward assignment

Le nouvel opérateur d'assignation =>

Alexandre Borderes
Alexandre Borderes

tally

Compter le nombre d'occurrences

Alexandre Borderes
Alexandre Borderes

"a" + "b" << "c#{"d"}"

Concaténation de chaînes de caractères

Alexandre Borderes
Alexandre Borderes

== vs === vs eql? vs equal?

Pourquoi autant de méthodes pour comparer?

Alexandre Borderes
Alexandre Borderes

Tableau et multiplication

La classe Array redéfinit l'opérateur `*`

Alexandre Borderes
Alexandre Borderes

flip-flop

L'expression conditionnelle obscure

Alexandre Borderes
Alexandre Borderes

pp

Pour "pretty print"

Alexandre Borderes
Alexandre Borderes

percent literal

Oui, ce morceau de code est tout a fait correct!

Alexandre Borderes
Alexandre Borderes

cycle 🔄

Vous allez tourner en rond!

Alexandre Borderes
Alexandre Borderes

nonzero?

Le contraire de zero?... Pas exactement!

Alexandre Borderes
Alexandre Borderes

dig ⛏️

Besoin d'une pioche?

Alexandre Borderes
Alexandre Borderes

split

Un cas particulier à connaître

Alexandre Borderes
Alexandre Borderes

clamp

Une méthode bornée!

Alexandre Borderes
Alexandre Borderes

binding.irb

IRB pour Interactive RuBy

Alexandre Borderes
Alexandre Borderes

none? one? any? all?

Comment elles fonctionnent réellement

Alexandre Borderes
Alexandre Borderes

command-line

Ruby est aussi très à l’aise en mode 'script'. Il peut remplacer `sed`, `grep`, `awk`, ...

Alexandre Borderes
Alexandre Borderes

RbConfig

Un module peu documenté

Alexandre Borderes
Alexandre Borderes

grep

C'est bien du Ruby, pas l'utilitaire en ligne de commande!

Alexandre Borderes
Alexandre Borderes

minMAX

On pensait les connaitre, on a découvert des subtilités!

Alexandre Borderes
Alexandre Borderes

"s l i c e"

La manipulation des String en Ruby est très poussée. Avec la méthode `[]` ou son alias `slice`, il est facile d’en extraire une partie complexe!

Alexandre Borderes
Alexandre Borderes

*[Opérateur splat]

L'opérateur splat est une façon pratique de manipuler les tableaux et arguments

Alexandre Borderes
Alexandre Borderes

Précision des float

La précision des float n’est pas infinie. Suivant votre cas d’utilisation il faut y faire très attention.

Alexandre Borderes
Alexandre Borderes

round(half:)

Les arrondis en Ruby ne fonctionnent pas comme en python, mais il y a moyen de les customiser pour changer ça

Alexandre Borderes
Alexandre Borderes