Bonjour,
J'essaie de parcourir tous les rapports générés à partir d'une ANOVA à sens unique. Je crée une liste des rapports anova_list.
Si j'essaie manuellement d'extraire le titre d'un rapport avec la syntaxe suivante
curr_anova = anova_list[1]
report_title = curr_anova << rapport << obtenir le titre("string")
le résultat est ce à quoi je m'attends - une variation de : Analyse unidirectionnelle de Y par X by1=by1val by2=by2val...
Mais quand j'essaye de faire ça en boucle
pour(i = 1, i<= n éléments(anova_list), i++,
curr_anova = anova_list[i]
report_title = curr_anova << rapport << obtenir le titre("string")
)
la sortie de report_title est DisplayBox[OutlineBox].
Est-ce que je fais un oubli sur la syntaxe ? J'ai essayé différentes combinaisons d'évaluations pour voir si la sortie change, en vain.
Essayez de changer
report_title = curr_anova << report << get title("string")
à (les parenthèses étant les plus importantes)
report_title = (curr_anova << report) << get title;
jthi,
Merci pour la suggestion. Cela fait effectivement l'affaire !
Puis-je demander pourquoi c'est différent ? A quoi sert le confinement avec parenthèses ?
Votre version originale a créé une « cascade de messages : »
result = obj << message 1 << message 2;
Le résultat est issu de la succession de messages vers un même objet. L'utilisation des parenthèses envoie le deuxième message au résultat de l'envoi du premier message.