Merci beaucoup,
Pyramidev, pour tes remarques constructives et pertinentes.
Envoyé par
Pyramidev
Autre coquille dans la partie 2-10-2 :
Texte actuel : « Par exemple, pour rechercher la chaîne toto non immédiatement suivie de la chaîne titi, on peut utiliser la regex rx{ toto < !after titi>}. »
Je pense que tu voulais écrire : « Par exemple, pour rechercher la chaîne toto non immédiatement précédée de la chaîne titi, on peut utiliser la regex rx{ <!after titi> toto }. »
Oui, tu as raison. J'ai pourtant testé mes bouts de code dans le REPL, je suppose que j'ai dû foirer ensuite mes copier-coller.
Envoyé par
Pyramidev
Si on pinaille pour les anglicisme, les mots anglais mutable et mutability se traduisent par muable et muabilité et non pas mutable et mutabilité. Je faisais cette faute aussi avant.
Je me suis posé la question et j'ai choisi volontairement d'utiliser
mutable après mûre réflexion. Certes, on dit par exemple
immuable, mais le mot
muable n'existe pas dans les dictionnaires que j'ai consultés, alors que le mot
mutable figure bien, avec essentiellement le sens recherché ou un sens suffisamment proche (voir par exemple cette
définition du Larousse. Voir aussi le
wiktionnaire). Surtout, indépendamment des dictionnaires, le mot
mutable me parle, mais pas le mot
muable. Bref, pour moi, ce n'est pas une faute, du moins jusqu'à preuve du contraire.
Envoyé par
Pyramidev
Si on pinaille encore plus, le caractère que tout le monde appelle le caractère dièse est en réalité le caractère
croisillon (#). Le vrai caractère dièse est ♯.
Tu as parfaitement raison. J'ai là aussi hésité entre
dièse, qui est clair pour tout le monde, et
croisillon , qui est plus correct mais me parle beaucoup moins, et ai opté pour la clarté en me disant qu'il n'y avait pas de vraie différence de toute façon. Mais le fait que tu montres les deux caractères (et leur différence) presque côte à côte me convainc que ce choix n'était sans doute pas bon, car il y a bien une vraie différence (que je n'avais pas remarquée) entre les deux. Je vais amender le texte en conséquence.
Envoyé par
Pyramidev
À part ça, dans le tutoriel, on peut lire :
Par curiosité, j'ai creusé un peu.
Dans la page
http://design.perl6.org/ , on peut lire :
« In the past the Synopses have often been referred to as "the formal Perl 6 specification" and "specs", but this usage is being deprecated in favor of treating tests from the "
roast" test suite as official specifications. This is consistent with Synopsis 1, which says "Perl 6 is anything that passes the official test suite." »
Oui, on est d'accord, j'ai bien dit que les Synopses constituaient la spécification
d'origine. Et j'ai bien précisé dans d'autres de mes tutos sur Perl 6 que la suite de tests constituait la véritable spécification officielle.
En fait, j'ai écrit le texte de cet encadré à un moment où la documentation officielle était bien plus pauvre qu'aujourd'hui et je me posais vraiment la question de ce qu'il fallait en penser. J'ai failli supprimer cet encadré lors d'une des dernières mises à jour, mais je ne l'ai pas fait car il me semblait que la question se pose toujours (mais peut-être à tort).
Envoyé par
Pyramidev
Du coup, j'ai regardé un peu les tests unitaires et il y avait un fichier "
roast/S05-interpolation/regex-in-variable.t".
Dans ce fichier, il y a plusieurs exemples d'interpolations de variables dans des regex, donc on peut considérer que cette fonctionnalité est officielle. Exemple :
1 2 3 4
|
my $foo = "a+b";
[...]
ok("a+b" ~~ m/$foo/, 'Simple scalar match 3'); |
Oui, cela rejoint les tests que j'ai faits et ceux que je donne en exemple dans cet encadré.
Envoyé par
Pyramidev
Là, par contre, dans le fichier "regex-in-variable.t", je n'ai pas trouvé de test qui couvre vraiment ce cas. J'ai trouvé celui-ci :
1 2 3
|
my $u;
ok 'a' !~~ /$u/, 'undefined variable does not match'; |
Mais ce cas n'est pas vraiment pareil.
Oui, mon exemple était différent et semble expliquer ce que voulait dire cette phrase pas très claire (à mon humble avis) de la Synopse 5. Je dois encore y réfléchir, mais je vais peut-être supprimer cet encadré qui exprimait mes doutes à l'époque de la rédaction initiale de ce tuto, doutes qui n'ont sans doute plus vraiment lieu d'être.
Envoyé par
Pyramidev
En tout cas, Perl 6 m'a l'air intéressant. Il est dans ma to-do-list des langages à apprendre.
Je t'y encourage vivement. Il y a des liens vers d'autres tutos sur P6 dans ma signature et je ne peux que recommander la lecture mon livre (en anglais) sur Perl 6:
Think Perl 6 - How to think like a computer scientist (2017, O'Reilly Media, Inc.), disponible gratuitement
au format PDF à cette adresse. Ce livre a aussi été traduit en espagnol par Luis F. Uceta et est disponible au format PDF à l'adresse suivante :
Piensa en Perl 6 - Cómo Pensar Como un Científico de la Computación.
Encore une fois, je te remercie pour tes commentaires très utiles et très constructifs.
Bonne soirée,
Laurent.
1 |
0 |