저는 Mac OS 10.11.6이고 Sage 7.2의 노트북 인터페이스를 사용하고 있습니다. 저는 Sage에서 체크하고 싶은 Mathematica에서 일을했지만 저는 Sage에서 초보자입니다. Mathematica에서는 Mathematica Dynamic [] 명령을 사용하여 내 코드의 실행을 추적 할 수 있습니다. 특히 매달린 시간을 감지 할 수 있습니다. 현자 (Sage)에서이 명령과 같은 것이 있습니까? 아니면 응답하지 않을 경우 실시간으로 알려주는 긴 계산의 진행 상황을 추적하는 다른 방법이 있습니까? 지금은 코드 내에서 인쇄 명령을 삽입하여 수천 개의 튜플 변수 값 집합을 화면 아래로 세로로 스트리밍합니다. 어질러 놓은. 차라리 디지털 시계에서 말하는 것처럼 이러한 튜플 값을 단순히 업데이트한다는 것을 알 수 있습니다. 이것은 Dynamic []가 Mathematica에서 성취 한 것입니다.코드 실행을 실시간으로 추적하는 Sage 명령이 있습니까?
1
A
답변
0
글쎄, 매쓰 매 티카에는 디버거가 없습니다. 그래서 그들은 Dynamic[]
명령을 도입함으로써 이러한 장애물을 극복하려고 노력했습니다. 그러나 프로그래밍 언어에 디버거가 있으면 Dynamic
과 비슷한 것을 구현하는 데 왜 왜 그런가?
예를 들어, you can refer to this other post 같은 현자 코드를 디버깅하는 몇 가지 방법이 있습니다. 또한 내장 명령 인 trace
도 Mathematica에서 Dynamic
과 매우 유사한 작업을합니다.
자세한 내용은 this (seemingly old) post을 참조 할 수도 있습니다.
"왜 동적 인 것과 비슷한 것을 구현해야합니까?" 내 경우에는 자주 실행하는 데 몇 시간이 걸리는 프로그램을 실행합니다. 코드 실행 진행 상황에 대한 실시간보기가 필요하므로 언제 중단되는지 알 수 있습니다. 그렇지 않으면 실행을 중단하기 전에 얼마나 오래 기다릴 지 모릅니다. 저는 수학자입니다. 최종 사용자, 즉 프로그래머가 아닙니다. 디버거가 나를 위해이 작업을 수행 할 지 모르겠습니다. 그럴거야? –
프로그램이 실제로 충돌 한 후 추적이 알려주는 것처럼 보입니다. 그러나 종종 내가하는 일에서, 프로그램은 충돌없이 매개 변수의 특정 값에서 막대한 속도로 느려질 것입니다. 추적에서 그걸 말하지 않을거야, 그럴거야? –
그건 그렇고, 저에게는 Sage vs. Mathematica 경연 대회가 아닙니다. 기본 수표로서, 나는 두 번째 플랫폼에서 제출 된 작업 (원래 하나의 플랫폼에서 완료)을 복제 할 수 있어야합니다. 그래서 나는 둘 다에서 일할 수 있기를 원합니다. –