이 위시리스트 요청에 영감을 준 것은 무엇입니까?
JMP는 내 코드의 오류로 인해 기록할 2천만 개의 항목 목록을 인쇄하려고 했기 때문에 JMP 로그를 만드는 데 내 메모리의 거의 모든 부분이 사용되었습니다. 그런 다음 로그를 지우려면 더 빠른 Ctrl + A + Delete 대신 Clear Log()를 설정해야 한다는 사실을 기억하지 못하는 경우 JMP를 강제로 닫는 것이 더 좋습니다.
JMP는 Get Session Script()와 같은 일부 경우에 로그를 훨씬 더 짧게 만들 수도 있지만 "..."만 인쇄하고 일반적으로 별로 유용하지 않습니다. 세션 스크립트가 실제로 ... 아니면 단지 긴 문자열인가요? 텍스트 jmp는 인쇄를 원하지 않았습니다(이 경우 후자).

JMP는 계속해서 로그를 인쇄해야 하며 최소한 로그의 시작과 끝을 표시해야 하며 단일 인쇄에 대한 로그를 잠김을 유발하지 않을 만큼 작게 유지해야 합니다.
당신이 보고 싶은 개선점은 무엇입니까?
사용자가 실수로 경고를 표시하거나 의도적으로 긴 텍스트(행렬, 목록, 드물게 표현식)를 로그에 인쇄할 때 JMP 로그가 더 똑똑해지기를 바랍니다. 경고는 "가위"를 추가하고 로그 메시지의 시작과 끝만 표시할 수 있습니다. 로그 창에는 경고 창 이상의 내용이 표시될 수 있지만 사용자가 모든 내용을 보겠다고 지정하지 않는 한 과도한 양은 아닙니다. -> 전체 로그를 볼 수 있는 방법도 있어야 합니다 (사용자가 열 수 있는 임시 파일에 저장할 수도 있음).
이 예에서는 아직 불가능한 긴 로그 메시지를 생성하지 않습니다. 테이블 초기화에 0을 몇 개 추가하면 더 오래 만들 수 있지만 권장하지는 않습니다.
Names Default To Here(1);
dt = New Table("Test",
Add Rows(1000000),
New Column("Row", Numeric, Ordinal, Formula(Row())),
Invisible
);
dt << New Column("Str", Character, Nominal, Set Each Value(
Repeat(Hex(:Row), 2)
));
/*
// Don't make the mistake of running this line as it will print excessively long list to log
dt[0, "Str"];
*/
m = dt[0, "Str"]; // List( 100000 elements ) assigned.
/*
Loc(Is Missing(dt[0, "Str"])); // prints' everything to log, but alert has just part of it
*/
/*
wait(0);
l = 0;
For Each({line}, Get Log(),
l = l + Length(line);
);
show(l);
*/
가위로 경고 창

내 로그에 3,000,972자의 텍스트가 표시됩니다.
이 아이디어가 왜 중요한가요?
오류나 고의로 인해 실수로 인쇄될 수 있는 긴 로그 메시지가 있는 경우 JMP가 잠기는 것을 방지합니다.