• [^] # Re: Rust vs Go

    Posté par (site web personnel) . En réponse à la dépêche Rust 0.12 : non, pas le jeu vidéo, le langage !. Évalué à 2.

    Tu peux détailler un peu plus, histoire de bien comprendre ?

    myArray = [...]
    mySelection = myArray.select { |value| value.even? }

    Bon, ok la syntaxe { |...| } peut perturber si on ne connait pas ruby.
    Peut-être qu'un

    myArray = [...]
    mySelection = myArray.select do |value|
     value.even?
    end

    peut aider, mais bref c'est un faux problème qui n'est pas le notre, là c'est juste être capable de lire les constructions de base du langage. C'est comme discuter de * et & en C++.

    Donc ensuite, qu'est ce qu'on a ?
    On a un objet qui reçoit le résultat de l'appel de la méthode select sur un tableau myArray. On en déduit quand même facilement (= juste en lisant les mots) qu'on réalise une sélection de myArray.
    Ensuite un bloc est passé, et on retourne un booléen un pour chaque valeur, ici vrai s'il est pair.
    Ben je sais pas mais moi quand je lis tout ça je lis "mySelection est la sélection de myArray en gardant les pairs".

    Le truc c'est que si tu lis la première version du extrapole un comportement (qui est de sélectionner les pairs) alors qu'il est explicite dans la version concise.

    mais pour moi c’est incompréhensible au premier abord

    C'est un problème de concision, de langage ou de n'utiliser qu'un ensemble très réduit d'instructions, un dénominateur commun basique et pauvre qu'on retrouve partout ?