こんにちは、
ANOVA-oneway から生成されたすべてのレポートをループしようとしています。レポートのリストanova_list を作成します。
次の構文を使用してレポートからタイトルを手動で抽出しようとすると、
curr_anova = anova_list[1]
report_title = curr_anova << report << get title("文字列")
出力は期待どおりで、次のようなバリエーションです: Y による X の一元配置分析 by1=by1val by2=by2val ...
しかしこれをループで実行しようとすると
for(i = 1, i<= n 項目(anova_list), i++,
curr_anova = anova_list[i]
report_title = curr_anova << report << get title("文字列")
)
report_titleの出力はDisplayBox[OutlineBox]です。
構文を見落としているのでしょうか? 出力が変化するかどうかを確認するために、さまざまな eval の組み合わせを試しましたが、効果はありませんでした。
変更してみてください
report_title = curr_anova << report << get title("string")
(括弧が最も重要です)
report_title = (curr_anova << report) << get title;
ジティ、
ご提案ありがとうございます。確かにこれでうまくいきました!
なぜこれが異なるのか教えていただけますか? 括弧による包含は何をしますか?
元のバージョンでは、「メッセージ カスケード」が作成されました。
result = obj << message 1 << message 2;
結果は、同じオブジェクトへのメッセージの連続から得られます。括弧を使用すると、2 番目のメッセージが最初のメッセージの送信結果に送信されます。