Verketten Sie die Liste mit den Variablen, die sich in einer Schleife geändert habenHallo,
Ich habe Probleme, mehrere Listen zu verketten, die Variablen enthalten. Ich habe eine Liste, in der jedes Element eine Zeichenfolge ist, die aus einer Benutzereingabevariablen verkettet ist. Da die Variable pro Schleife geändert wird, wie kann ich die Liste aktualisieren und diese Liste mit anderen Listen verketten?
bank_pcs = {"BGB1BESS001_B"||bank||"_W","BGB1BESS001_B"||bank||"_A","BGB1BESS001_V"||bank||"_W"};
For (i = 1, i<=6, i++,
bank_num = 6*(k-1)+i;
bank = char(bank_num,10,0);
Eval list (bank_pcs);
bank_tags_i = bank_pcs;
bank_tags = concat (bank_tags, bank_tags_i)
)Danke
Datenzusammenführung und -bereinigungBetreff: Verknüpfen Sie die Liste mit Variablen, die sich in einer Schleife geändert habenSehen Sie, ob dies Ihnen das bringt, was Sie wollen
For( i = 1, i <= 6, i++,
bank_num = 6 * (k - 1) + i;
theBankValue = Char( bank_num, 10, 0 );
Eval(
Substitute(
Expr(
bank_pcs = {"BGB1BESS001_B" || bank || "_W", "BGB1BESS001_B" || bank || "_A", "BGB1BESS001_V" || bank ||
"_W"}
),
Expr( bank ), theBankValue
)
);
bank_tags_i = bank_pcs;
bank_tags = Concat( bank_tags, bank_tags_i );
);Betreff: Verknüpfen Sie die Liste mit Variablen, die sich in einer Schleife geändert habenDu warst fast da.Sie hatten die evallist(bank_pcs), aber das ist nicht das, was Sie bank_tags_i zuweisen.Das funktioniert für mich.
NamesDefaultToHere(1);
bank_pcs = {"BGB1BESS001_B"||bank||"_W","BGB1BESS001_B"||bank||"_A","BGB1BESS001_V"||bank||"_W"};
For (i = 1, i<=6, i++,
bank_num = i; // changing this from yours because I assume you also have a k loop
bank = char(bank_num,10,0);
bank_tags_i = Evallist(bank_pcs);
if(i==1,
bank_tags = bank_tags_i // just if it isn't started yet. you're probably doing this in your k loop
, //else
bank_tags = concat (bank_tags, bank_tags_i)
)
);
bank_tags;Betreff: Verknüpfen Sie die Liste mit Variablen, die sich in einer Schleife geändert habenoder, wenn Sie eine Liste von Listen möchten:
k = 11;
bank_tags = {};
bank_pcs = {"BGB1BESS001_B" || bank || "_W", "BGB1BESS001_B" || bank || "_A", "BGB1BESS001_V" || bank || "_W"};
For( i = 1, i <= 6, i++,
bank_num = 6 * (k - 1) + i;
bank = Char( bank_num, 10, 0 );
bank_tags_i = Eval List( bank_pcs );
bank_tags[1 + N Items( bank_tags )] = bank_tags_i;
);
Show( bank_tags );
/*{{"BGB1BESS001_B61_W", "BGB1BESS001_B61_A", "BGB1BESS001_V61_W"},
{"BGB1BESS001_B62_W", "BGB1BESS001_B62_A", "BGB1BESS001_V62_W"},
{"BGB1BESS001_B63_W", "BGB1BESS001_B63_A", "BGB1BESS001_V63_W"},
{"BGB1BESS001_B64_W", "BGB1BESS001_B64_A", "BGB1BESS001_V64_W"},
{"BGB1BESS001_B65_W", "BGB1BESS001_B65_A", "BGB1BESS001_V65_W"},
{"BGB1BESS001_B66_W", "BGB1BESS001_B66_A", "BGB1BESS001_V66_W"}}*/
Wenn Sie eher eine Zeichenfolge als eine Liste möchten, versuchen Sie es @vince_faller antworte mit Concat-Elemente ( bank_tags, "," ) um die Listenelemente in einer Zeichenfolge mit Kommas zu erhalten.
Betreff: Verknüpfen Sie die Liste mit Variablen, die sich in einer Schleife geändert habenDanke schön! Es funktioniert genauso wie ich es erwartet habe.