for 루프를 사용하여 목록의 각 항목을 빈 목록으로 만듭니다.안녕 ,
for 루프를 사용하여 변수 name을 만들고 빈 목록으로 할당하려면 어떻게 해야 하나요?
예를 들어:
var_list = {"요일", "오늘", "비", "평균"};
var_list를 반복하면 다음을 얻습니다.
일 = {};
오늘={};
비={};
평균={};
자동화 및 스크립팅Re: for 루프를 사용하여 목록의 각 항목을 빈 목록으로 만들기그렇게 하지 마세요. 저는 그것들을 연관 배열의 키로 생성하고 그것들에 빈 목록을 값으로 제공하는 것을 제안합니다.
Names Default To Here(1);
var_list = {"day", "today", "rain", "mean"};
aa = Associative Array(var_list, Repeat({{}}, N Items(var_list)));Re: for 루프를 사용하여 목록의 각 항목을 빈 목록으로 만들기for 루프를 사용해서는 안 되는 부정적인 이유가 있나요?
또한, 나중에 계산을 하고 연관 배열에 값을 추가하고 싶습니다. 그런 다음 연관 배열을 테이블로 변환합니다. 아래는 제가 하는 방법의 예입니다. aa의 값은 {{}, {}, {"3", "2"}, {"A", "b"}}로 정확하지만 생성된 테이블은 :rain에서만 값을 갖습니다. jmp의 기본 열 데이터 유형이 숫자+연속이기 때문이라고 생각합니다.
1) 열의 데이터 유형을 정의하지 않고도 연관 배열을 테이블로 바꾸는 더 나은/빠른 방법이나 강제적인 방법이 있습니까?
keys = aa << get keys;
check= {"col_today", "col_rain"};
col_today = {"A", "b"};
col_rain = {"3","2"};
for (j=1, j<=nitems(check), j++,
for (i=1, i<=nitems(keys), i++,
if(word(-1, check[j], "_") == keys[i],
aa << Insert(keys[i],eval(parse(check[j])));
);
);
);
values1 = aa << get values;
tb = new table();
for (i = 1, i <= nitems(keys), i++,
tb << new column(char(keys[i]), , set values(values1[i]));
)
missing :today value because it is character
Re: for 루프를 사용하여 목록의 각 항목을 빈 목록으로 만들기동적으로 생성된 변수 이름을 처리하려고 하면 어지러울 수 있으며 이러한 유형의 스크립팅을 돕는 데이터 구조가 있으므로 동적 변수 이름에 의존할 필요가 없습니다.
한 가지 옵션은 JSON을 살펴보고 JMP가 데이터/모델링 유형을 결정하도록 하는 것입니다.
Names Default To Here(1);
aa = Associative Array();
aa["a"] = {"A", "B"};
aa["b"] = {"1", "2"};
aa["c"] = {1, 2};
dt = JSON To Data Table(As JSON Expr(aa), Guess(Stack(1)));
또는 모든 열과 문자를 생성한 다음 숫자로 변환할 수 있는 열과 문자를 변환합니다.
Re: for 루프를 사용하여 목록의 각 항목을 빈 목록으로 만들기저는 Jarmo의 의견에 동의하지만, 이것이 당신이 요청한 바를 충족하는 것 같습니다.
Names Default To Here( 1 );
var_list = {"day", "today", "rain", "mean"};
var_list_list = {};
For Each( {var, i}, var_list, Insert Into( var_list_list, Parse( Eval Insert( "^var^ = {};" ) ) ) );
var_list_list;Re: for 루프를 사용하여 목록의 각 항목을 빈 목록으로 만들기변수를 한 번 초기화하려면 Eval List(var_list_list);를 추가해야 할 수도 있다고 생각합니다.
나는 이런 일을 하는 것이 너무 나쁜 생각이라고 생각해서 이에 대한 선택권조차 주고 싶지 않지만 그래도 하나 있습니다.
더 보기...
Names Default To Here(1);
var_list = {"day", "today", "rain", "mean"};
For Each({var, i}, var_list,
Eval(EvalExpr(Assign(Expr(Parse(var)), {})));
);
show(day, today, rain, mean);