私は Python についてほとんど何も知りませんが、scons を使用しています。(これを読んでいて、Python は知っているが scons は知らないという人は、おそらく私を助けてくれるでしょう!)
誰かが私を助けて、2 つのリストを含む変数を持つ方法を説明してくれませんか? 構文がわかりません。これは正しいですか?
buildinfo = // how do you initialize a variable that has fields?
buildinfo.objectFiles = []; // list of the object files
buildinfo.sourceFiles = []; // list of the source files
この構造の変数を返す関数 f() がある場合、f() の戻り値を両方のリストに追加する最短の方法は何ですか? (実際には f() は Sconscript() ですが、気にしないでください。)
// call f() several times and append the results onto buildinfo
buildinfo_sub = f(...);
buildinfo.objectFiles.append(buildinfo_sub.objectFiles);
buildinfo.sourceFiles.append(buildinfo_sub.sourceFiles);
buildinfo_sub = f(...);
buildinfo.objectFiles.append(buildinfo_sub.objectFiles);
buildinfo.sourceFiles.append(buildinfo_sub.sourceFiles);
buildinfo_sub = f(...);
buildinfo.objectFiles.append(buildinfo_sub.objectFiles);
buildinfo.sourceFiles.append(buildinfo_sub.sourceFiles);
もっと短い方法はありますか?これは長すぎませんが、エラーが発生しやすい長さです。
edit : またはさらに良いことに、objectFiles と sourceFiles の 2 つのフィールドを持つ単純なクラスを定義したいと思います。
object1.append(object2)
次に、object1 は object2 の objectFiles および sourceFiles フィールドをそれ自体に追加するので、次のようにすることができます。
buildinfo = BuildInfo([],[]);
buildinfo.append(f(...));
buildinfo.append(f(...));
buildinfo.append(f(...));