La voix du secrétaire (Jean)Présents à la réunion :
Il a été question de Perl, d'informatique, d'Internet, et de sujets divers, comme à l'accoutumée. Néanmoins, contrairement aux précédentes réunions, il n'a pas été question du Seigneur des Anneaux (au moins pas dans les discussions que j'ai suivies). Il n'y a pas eu de revue de code, et il n'a quasiment pas été question de XML.
%a = (%a, %b);Cette ligne de code repose sur les conversions automatiques hachage <-> liste. Le livre présente une autre construction, moins naturelle, mais plus efficace, avec un slice de hachage :
@a{keys %b} = values %b;Cette construction repose sur le fait que, même si l'ordre des clés retournées par keys est imprévisible, il y a au moins une chose de garantie, c'est que keys et values (et each) utiliseront exactement le même ordre.
[ $a => $b ] -> [ $b <= $a ]C'est peut-être moins efficace qu'un ? : mais c'est plus beau, non ?
substr($ch, 3, 2) = "yz";là où d'autres langages imposeraient quelque chose comme :
$ch = substr($ch, 0, 3) . "yz" . substr($ch, 5);Et il n'y a même pas besoin de se tracasser si la sous-chaîne est remplacée par une chaîne de longueur différente. C'est bien pratique. Un autre « gadget », c'est l'incrémentation magique (alphabétique), et le fait que l'incrémentation de "z" permet d'obtenir "aa". Ce qui ravit Philippe, c'est que ces deux particularités fonctionnent ensemble sans problème. Ainsi, si $ch contient "Bizerte", le code
substr($ch, 2, 1)++;laissera "Biaaerte" dans la variable $ch, sans faire d'esclandre ni de core dump. Est-ce que les auteurs (Larry et les P5P) avaient prévu le cas particulier dès le début ? Ou bien est-ce les deux fonctionnalités ont cohabité sans qu'il y ait besoin de prendre des mesures particulières. Après réflexion, nous pensons que la deuxième réponse est la plus probable. Lorsque Larry a spécifié Perl, il n'avait certainement pas prévu tout ce que l'on pourrait faire avec. Et pourtant, quand on regarde les écrits ou le répertoire CPAN de certains...
return undef; # MALADROITNicolas sait que ce n'est pas bien. Si la fonction est appelée en contexte de liste, il est préférable qu'elle retourne une liste vide. Et il y a un moyen simple et élégant de le faire :
return; # BIENqui est équivalent à :
return wantarray ? () : undef;Le problème de Nicolas, c'est qu'il utilisait une fonction de ce genre pour alimenter un hachage. Il a écrit une ligne de code dans le genre :
premiere_fonction( cle1 => deuxieme_fct($arg1), cle2 => deuxieme_fct ($arg2)); sub premiere_fonction { my %hachage = @_; }Or, la deuxieme_fct échouait avec les arguments fournis. Comme elle était appelée en contexte de liste, plutôt que de renvoyer undef, elle renvoyait une liste vide. L'opérateur virgule concaténait ses opérandes, et envoyait donc à la premiere_fonction une liste à deux éléments. Et cette premiere_fonction créait un hachage à une clé (cle1) et une valeur (cle2).
use Tie::Hash::Approx; my %hachage; tie %hachage, 'Tie::Hash::Approx'; %hachage = ( tititoto => "quelque chose" ); print "$hachage{tititot}\n";imprimera quelque chose. Plus précisément, il imprimera "quelque chose".
[M50] Prouvez que pour un entier n supérieur à 2, l'équation xn + yn = zn ne possède aucune solution avec des entiers (x, y, z) différents de 0.Mais dans la prochaine édition, cet exercice sera peut-être reclassifié HM45...
- Comment commencer un paragraphe avec une lettrine ?[ Bon, d'accord, j'ai un peu caricaturé. ] Comme vous l'avez deviné, CTAN signifie Comprehensive TEX Archive Network, et propose gratuitement toutes sortes de compléments (formats, modules, polices, tutoriels) pour les utilisateurs de TEX ou de LATEX. Mais Nicolas note une différence importante. Alors qu'il est facile d'installer un module Perl, l'installation d'un module TEX est délicate.
- Installez le module dropcaps, disponible sur CTAN.
- Je dois écrire un QCM. LATEX peut-il m'aider ?
- Installez le module exam, disponible sur CTAN.
- J'ai une imprimante couleurs. Est-il possible de mettre en page un document avec des couleurs ?
- Installez le module color, disponible sur CTAN.
1134999999 et ainsi de suite.François me précise que le record du nombre de décimales de pi mémorisées est détenu par un Japonais, et qu'il est à 5000 environ. Il parle également de la différence entre une suite aléatoire et une suite imprévisible. Les chiffres successifs de pi sont imprévisibles, ils ne sont absolument pas aléatoires.